[Bugs] [Bug 1227198] New: [RFE] Move signing trigger mechanism to [f]setxattr()

bugzilla at redhat.com bugzilla at redhat.com
Tue Jun 2 06:42:16 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1227198

            Bug ID: 1227198
           Summary: [RFE] Move signing trigger mechanism to [f]setxattr()
           Product: Red Hat Gluster Storage
           Version: 3.1
         Component: glusterfs
     Sub Component: bitrot
          Assignee: rhs-bugs at redhat.com
          Reporter: vshankar at redhat.com
        QA Contact: rmekala at redhat.com
                CC: bugs at gluster.org, nsathyan at redhat.com,
                    rmekala at redhat.com, vbellur at redhat.com,
                    vshankar at redhat.com
        Depends On: 1224600, 1225709
            Blocks: 1219955 (glusterfs-3.7.1)



+++ This bug was initially created as a clone of Bug #1225709 +++

+++ This bug was initially created as a clone of Bug #1224600 +++

Description of problem:
Currently triggering signing for a file (explicit signing by bitd) is based on
overloading writev(). This is a bit dangerous and not clean. Better to move it
to setxattr() path (with a special key identified by bitd and stub).

Version-Release number of selected component (if applicable):
mainline

--- Additional comment from Anand Avati on 2015-05-27 07:57:29 EDT ---

REVIEW: http://review.gluster.org/10942 (features/bitrot: stub improvements and
fixes) posted (#1) for review on master by Venky Shankar (vshankar at redhat.com)

--- Additional comment from Anand Avati on 2015-05-28 00:20:31 EDT ---

REVIEW: http://review.gluster.org/10953 (features/bitrot: stub improvements and
fixes) posted (#1) for review on release-3.7 by Venky Shankar
(vshankar at redhat.com)

--- Additional comment from Anand Avati on 2015-05-31 00:12:52 EDT ---

COMMIT: http://review.gluster.org/10953 committed in release-3.7 by Venky
Shankar (vshankar at redhat.com) 
------
commit 5e1f8629b15568ca43587fbf2d97dafc4491defe
Author: Venky Shankar <vshankar at redhat.com>
Date:   Tue May 26 21:51:31 2015 +0530

    features/bitrot: stub improvements and fixes

    This patch refactors the signing trigger mechanism used by bitrot
    daemon as a "catch up" meachanism to sign files which _missed_
    signing on the last run either due to bitrot being disabled and
    enabled again or if bitrot is enabled for a volume with existing
    data.

    Existing implementation relies on overloading writev() to trigger
    signing which just by the looks sounded dangerous and I hated it
    to the core. This change moves all that business to the setxattr
    interface thereby keeping the writev path strictly for client
    IO.

    Why not use IPC fop to trigger signing?
    There's a need to access the object's inode to perform various
    maintainance operations. inode is not _directly_ accessible in
    the IPC fop (although, it can be found via inode_grep() for the
    object's GFID - the inode just needs to be pinned in memory,
    which is the case if there's an active fd on the inode). This
    patch relies on good old technique of overloading fsetxattr()
    to do the job instead of using IPC fop.

    There are some pretty nice cleanups along the lines of memory
    deallocations, unncessary allocations and redundant ref()ing
    of structures (such as fd's) provided by this patch. All in
    all - much improved code navigation.

    Change-Id: Id93fe90b1618802d1a95a5072517dac342b96cb8
    BUG: 1225709
    Signed-off-by: Venky Shankar <vshankar at redhat.com>
    Reviewed-on: http://review.gluster.org/10953
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Tested-by: NetBSD Build System <jenkins at build.gluster.org>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1219955
[Bug 1219955] GlusterFS 3.7.1 tracker
https://bugzilla.redhat.com/show_bug.cgi?id=1224600
[Bug 1224600] [RFE] Move signing trigger mechanism to [f]setxattr()
https://bugzilla.redhat.com/show_bug.cgi?id=1225709
[Bug 1225709] [RFE] Move signing trigger mechanism to [f]setxattr()
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=XmQpwv8yRP&a=cc_unsubscribe


More information about the Bugs mailing list