[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