[Bugs] [Bug 1225709] [RFE] Move signing trigger mechanism to [f]setxattr()

bugzilla at redhat.com bugzilla at redhat.com
Sun May 31 04:12:52 UTC 2015


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



--- Comment #2 from Anand Avati <aavati at redhat.com> ---
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>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the Docs Contact for the bug.


More information about the Bugs mailing list