Bug 1170075 - [RFE] : BitRot detection in glusterfs
Summary: [RFE] : BitRot detection in glusterfs
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: core
Version: mainline
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Venky Shankar
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1219024 1232174
TreeView+ depends on / blocked
 
Reported: 2014-12-03 08:23 UTC by Rachana Patel
Modified: 2016-06-16 16:18 UTC (History)
5 users (show)

Fixed In Version: glusterfs-3.8.0
Doc Type: Enhancement
Doc Text:
Clone Of:
: 1219024 1232174 (view as bug list)
Environment:
Last Closed: 2016-06-16 16:18:09 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Rachana Patel 2014-12-03 08:23:01 UTC
Description of problem:
=======================
BitRot detection in glusterfs

As an Admin I want GlusterFS to detect bit rot so that I can proactively handle silent data corruption issues in my storage setup

Note:-
This is an umbrella bug for upcoming BitRot feature in 3.7

Comment 1 Anand Avati 2015-03-12 12:35:06 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

Comment 2 Anand Avati 2015-03-13 09:01:06 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#2) for review on master by Gaurav Kumar Garg (ggarg)

Comment 3 Anand Avati 2015-03-13 10:00:40 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

Comment 4 Anand Avati 2015-03-13 13:03:08 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#4) for review on master by Gaurav Kumar Garg (ggarg)

Comment 5 Anand Avati 2015-03-17 11:17:18 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#5) for review on master by Gaurav Kumar Garg (ggarg)

Comment 6 Anand Avati 2015-03-18 07:34:37 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#6) for review on master by Gaurav Kumar Garg (ggarg)

Comment 7 Anand Avati 2015-03-18 15:30:27 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 8 Anand Avati 2015-03-18 15:30:35 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 9 Anand Avati 2015-03-18 15:30:44 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 10 Anand Avati 2015-03-18 15:30:52 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 11 Anand Avati 2015-03-18 15:30:56 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 12 Anand Avati 2015-03-18 15:31:02 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 13 Anand Avati 2015-03-18 15:31:05 UTC
REVIEW: http://review.gluster.org/9708 (features/changelog: RPC'fy {libgf}changelog) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 14 Anand Avati 2015-03-18 15:31:09 UTC
REVIEW: http://review.gluster.org/9707 (contrib/timer-wheel: import linux kernel timer-wheel) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 15 Anand Avati 2015-03-18 15:31:17 UTC
REVIEW: http://review.gluster.org/9706 (libglusterfs/rot-buffs: rotational buffers) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 16 Anand Avati 2015-03-18 15:31:19 UTC
REVIEW: http://review.gluster.org/9814 (geo-rep / gsyncd: use RTLD_GLOBAL while loading libgfchangelog) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 17 Anand Avati 2015-03-18 15:31:22 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 18 Anand Avati 2015-03-18 15:31:25 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 19 Anand Avati 2015-03-18 15:31:28 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 20 Anand Avati 2015-03-18 17:57:20 UTC
REVIEW: http://review.gluster.org/9866 (cli/glusterd: cli command implementation for bitrot features) posted (#7) for review on master by Gaurav Kumar Garg (ggarg)

Comment 21 Anand Avati 2015-03-19 01:22:40 UTC
COMMIT: http://review.gluster.org/9708 committed in master by Vijay Bellur (vbellur) 
------
commit 4737584fffcd25dbe35d17b076c95bf90a422cf2
Author: Venky Shankar <vshankar>
Date:   Tue Feb 3 19:22:16 2015 +0530

    features/changelog: RPC'fy {libgf}changelog
    
    This patch introduces RPC based communication between the changelog
    translator and libgfchangelog. It replaces the old pathetic stream
    based interaction that existed earlier (due to time constraints :-/).
    
    Changelog, upon initialization starts a RPC server (rpcsvc) allowing
    clients to invoke a probe API as a bootup mechanism to request for
    event notifications. During probe, clients can choose an event
    filter specifying the type(s) of events they are interested in. As
    of now there is no way to change the event notification set once
    the probe RPC call is made, but that is easier to implement.
    
    The actual event notifications is done on a separate RPC session.
    The client (libgfchangelog) itself starts and RPC server which the
    changelog translator "connects back" during probe. Notifications
    are dispatched by a bunch of threads from the server (translator)
    and the client optionally orders them if ordered notifications
    are requried. FOPs fill in their respective event details in a
    buffer (rot-buffs to be particular) and a bunch of threads
    (consumers) swap the buffers out of roatation and dispatch them
    via RPC. To avoid writer starvation, then number of dispatcher
    threads is one less than the number of buffer list in rot-buffs.x
    
    libgfchangelog becomes purely callback based -- upon event
    notification from the server (and re-ordering them if required)
    invoke a callback routine specified by consumer(s).
    
    A major part of the patch is also aimed at providing backward
    compatibility for geo-replication, which was one of the main
    consumer of the stream based API. Also, this patch does not\
    "turn on" event notifications for all fops, just a bunch which
    is currently in requirement. Another pain point is that the
    server does not filter events before dispatching it to the
    clients. That load is taken up by the client itself (although
    it's done at the library layer rather than making it hard on
    the callback implementor). This needs improvement and care
    needs to be taken to not load the server up with expensive
    filtering mechanisms.
    
    Change-Id: Ibf60a432b68f2dfa60c6f9add2bcfd37a9c41395
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9708
    Reviewed-by: Jeff Darcy <jdarcy>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 22 Anand Avati 2015-03-19 01:22:55 UTC
COMMIT: http://review.gluster.org/9814 committed in master by Vijay Bellur (vbellur) 
------
commit fa50fcb6dddf4d7d0094c26cee802fd942f62727
Author: Venky Shankar <vshankar>
Date:   Wed Mar 4 18:05:30 2015 +0530

    geo-rep / gsyncd: use RTLD_GLOBAL while loading libgfchangelog
    
    With the RPC based changes to {libgf}changelog, loading shared
    objects dynamically would need symbols to be available from
    other shared libraries. As an example, creating an RPC listner
    loads the RPC transport shared object which requires symbols
    to be available from already loaded shared objects.
    
    Using RTLD_GLOBAL makes the symbols available for symbol
    resolution of subsequently loaded libraries.
    
    Change-Id: I3d3ef790eded82911f05836c707509157680645c
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9814
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 23 Anand Avati 2015-03-19 01:34:12 UTC
COMMIT: http://review.gluster.org/9866 committed in master by Vijay Bellur (vbellur) 
------
commit d236b01a8bf68b83c76ea1cfa8351833e19695f7
Author: Gaurav Kumar Garg <ggarg>
Date:   Tue Mar 10 15:04:59 2015 +0530

    cli/glusterd: cli command implementation for bitrot features
    
    CLI command for bitrot features.
    
    volume bitrot <volname> enable|disable
    
    Above command will enable/disable bitrot feature for particular volume.
    
    BUG: 1170075
    Change-Id: Ie84002ef7f479a285688fdae99c7afa3e91b8b99
    Signed-off-by: Gaurav Kumar Garg     <ggarg>
    Signed-off-by: Anand nekkunti        <anekkunt>
    Signed-off-by: Dominic P Geevarghese <dgeevarg>
    Reviewed-on: http://review.gluster.org/9866
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 24 Anand Avati 2015-03-19 04:08:46 UTC
REVIEW: http://review.gluster.org/9706 (libglusterfs/rot-buffs: rotational buffers) posted (#8) for review on master by Vijay Bellur (vbellur)

Comment 25 Anand Avati 2015-03-19 04:22:38 UTC
COMMIT: http://review.gluster.org/9706 committed in master by Vijay Bellur (vbellur) 
------
commit 87a9d23627586a5d5cd8a502a08ecbdb6f0f7bb2
Author: Venky Shankar <vshankar>
Date:   Tue Feb 3 19:03:30 2015 +0530

    libglusterfs/rot-buffs: rotational buffers
    
    This patch introduces rotational buffers aiming at the classic
    multiple producer and multiple consumer problem. A fixed set
    of buffer list is allocated during initialization, where each
    list consist of a list of buffers. Each buffer is an iovec
    pointing to a memory region of fixed allocation size. Multiple
    producers write data to these buffers. A buffer list starts with
    a single buffer (iovec) and allocates more when required (although
    this can be preallocatd in multiples of k).
    
    rot-buffs allow multiple producers to write data parallely with
    a bit of extra cost of taking locks. Therefore, it's much suited
    for large writes. Multiple producers are allowed to write in the
    buffer parallely by "reserving" write space for selected number
    of bytes and returning pointer to the start of the reserved area.
    The write size is selected by the producer before it starts the
    write (which is often known). Therefore, the write itself need not
    be serialized -- just the space reservation needs to be done safely.
    
    The other part is when a consumer kicks in to consume what has
    been produced. At this point, a buffer list switch is performed.
    The "current" buffer list pointer is safely pointed to the next
    available buffer list. New writes are now directed to the just
    switched buffer list (the old buffer list is now considered out
    of rotation). Note that the old buffer still may have producers
    in progress (pending writes), so the consumer has to wait till
    the writers are drained. Currently this is the slow path for
    producers (write completion) and needs to be improved.
    
    Currently, there is special handling for cases where the number
    of consumers match (or exceed) the number of producers, which
    could result in writer starvation. In this scenario, when a
    consumers requests a buffer list for consumption, a check is
    performed for writer starvation and consumption is denied
    until at least another buffer list is ready of the producer
    for writes, i.e., one (or more) consumer(s) completed, thereby
    putting the buffer list back in rotation.
    
    [
       NOTE:
       I've not performance tested this producer-consumer model
       yet. It's being used in changelog for event notification.
       The list of buffers (iovecs) are directly passed to RPC
       layer.
    ]
    
    Change-Id: I88d235522b05ab82509aba861374a2312bff57f2
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9706
    Tested-by: Vijay Bellur <vbellur>

Comment 26 Anand Avati 2015-03-19 04:59:26 UTC
REVIEW: http://review.gluster.org/9707 (contrib/timer-wheel: import linux kernel timer-wheel) posted (#8) for review on master by Vijay Bellur (vbellur)

Comment 27 Anand Avati 2015-03-19 05:05:55 UTC
COMMIT: http://review.gluster.org/9707 committed in master by Vijay Bellur (vbellur) 
------
commit 5394f3cf60b0815d2919d24e9945ba47e3bb1f9b
Author: Venky Shankar <vshankar>
Date:   Tue Feb 3 19:05:28 2015 +0530

    contrib/timer-wheel: import linux kernel timer-wheel
    
    This patch imports timer-wheel[1] algorithm from the linux
    kernel (~/kernel/time/timer.c) with some modifications.
    
    Timer-wheel is an efficent way to track millions of timers for
    expiry. This is a variant of the simple but RAM heavy approach
    of having a list (timer bucket) for every future second.
    Timer-wheel categorizes every future second into a logarithmic
    array of arrays. This is done by splitting the 32 bit "timeout"
    value into fixed "sliced" bits, thereby each category has a
    fixed size array to which buckets are assigned.
    
    A classic split would be 8+6+6+6 (used in this patch) which
    results in 256+64+64+64 == 512 buckets. Therefore, the entire
    32 bit futuristic timeouts have been mapped into 512 buckets.
    
    [
       NOTE:
         There are other possible splits, such as "8+8+8+8", but
         this patch sticks to the widely used and tested default.
    ]
    
    Therfore, the first category "holds" timers whose expiry range
    is between 1..256, the next cateogry holds 257..16384, third
    category 16385..1048576 and so on. When timers are added,
    unless it's in the first category, timers with different
    timeouts could end up in the same bucket. This means that the
    timers are "partially sorted" -- sorted in their highest bits.
    
    The expiry code walks the first array of buckets and exprires
    any pending timers (1..256). Next, at time value 257, timers
    in the first bucket of the second array is "cascaded" onto
    the first category and timers are placed into respective
    buckets according to the thier timeout values. Cascading
    "brings down" the timers timeout to the coorect bucket
    of their respective category. Therefore, timers are sorted
    by their highest bits of the timeout value and then by the
    lower bits too.
    
    [1] https://lwn.net/Articles/152436/
    
    Change-Id: I1219abf69290961ae9a3d483e11c107c5f49c4e3
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9707
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 28 Anand Avati 2015-03-20 07:35:45 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 29 Anand Avati 2015-03-20 07:35:53 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 30 Anand Avati 2015-03-20 07:35:56 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 31 Anand Avati 2015-03-20 07:35:59 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 32 Anand Avati 2015-03-20 07:36:02 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 33 Anand Avati 2015-03-20 07:36:05 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 34 Anand Avati 2015-03-20 07:36:08 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 35 Anand Avati 2015-03-20 07:36:11 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 36 Anand Avati 2015-03-20 07:36:14 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 37 Anand Avati 2015-03-20 07:36:17 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 38 Anand Avati 2015-03-20 10:51:23 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 39 Anand Avati 2015-03-20 10:51:37 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 40 Anand Avati 2015-03-20 10:51:43 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 41 Anand Avati 2015-03-20 10:51:54 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 42 Anand Avati 2015-03-20 10:52:01 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#9) for review on master by Venky Shankar (vshankar)

Comment 43 Anand Avati 2015-03-20 10:52:11 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#9) for review on master by Venky Shankar (vshankar)

Comment 44 Anand Avati 2015-03-20 10:52:15 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#9) for review on master by Venky Shankar (vshankar)

Comment 45 Anand Avati 2015-03-20 10:52:18 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 46 Anand Avati 2015-03-20 10:52:25 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 47 Anand Avati 2015-03-20 10:52:28 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 48 Anand Avati 2015-03-20 10:59:10 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 49 Anand Avati 2015-03-20 10:59:15 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#9) for review on master by Venky Shankar (vshankar)

Comment 50 Anand Avati 2015-03-20 10:59:25 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#9) for review on master by Venky Shankar (vshankar)

Comment 51 Anand Avati 2015-03-20 10:59:36 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 52 Anand Avati 2015-03-20 10:59:45 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#10) for review on master by Venky Shankar (vshankar)

Comment 53 Anand Avati 2015-03-20 10:59:49 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#10) for review on master by Venky Shankar (vshankar)

Comment 54 Anand Avati 2015-03-20 11:00:01 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#10) for review on master by Venky Shankar (vshankar)

Comment 55 Anand Avati 2015-03-20 11:00:16 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 56 Anand Avati 2015-03-20 11:00:29 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 57 Anand Avati 2015-03-20 11:00:38 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 58 Anand Avati 2015-03-20 15:40:30 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 59 Anand Avati 2015-03-20 15:40:39 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#10) for review on master by Venky Shankar (vshankar)

Comment 60 Anand Avati 2015-03-20 15:40:42 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#10) for review on master by Venky Shankar (vshankar)

Comment 61 Anand Avati 2015-03-20 15:40:50 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 62 Anand Avati 2015-03-20 15:40:54 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 63 Anand Avati 2015-03-20 15:40:58 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 64 Anand Avati 2015-03-20 15:41:02 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 65 Anand Avati 2015-03-20 15:41:07 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 66 Anand Avati 2015-03-20 15:41:11 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 67 Anand Avati 2015-03-20 15:41:14 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 68 Anand Avati 2015-03-22 09:47:54 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#5) for review on master by Raghavendra Bhat (raghavendra)

Comment 69 Anand Avati 2015-03-22 09:48:08 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#11) for review on master by Raghavendra Bhat (raghavendra)

Comment 70 Anand Avati 2015-03-22 09:48:11 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#11) for review on master by Raghavendra Bhat (raghavendra)

Comment 71 Anand Avati 2015-03-22 09:48:14 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#9) for review on master by Raghavendra Bhat (raghavendra)

Comment 72 Anand Avati 2015-03-22 09:48:17 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 73 Anand Avati 2015-03-22 09:48:20 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 74 Anand Avati 2015-03-22 09:48:23 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 75 Anand Avati 2015-03-22 09:48:26 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#9) for review on master by Raghavendra Bhat (raghavendra)

Comment 76 Anand Avati 2015-03-22 09:48:29 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#9) for review on master by Raghavendra Bhat (raghavendra)

Comment 77 Anand Avati 2015-03-22 09:48:32 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#9) for review on master by Raghavendra Bhat (raghavendra)

Comment 78 Anand Avati 2015-03-22 09:48:35 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#1) for review on master by Raghavendra Bhat (raghavendra)

Comment 79 Anand Avati 2015-03-22 09:48:38 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend for bitrot cli) posted (#1) for review on master by Raghavendra Bhat (raghavendra)

Comment 80 Anand Avati 2015-03-22 14:04:06 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#6) for review on master by Raghavendra Bhat (raghavendra)

Comment 81 Anand Avati 2015-03-22 14:04:26 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 82 Anand Avati 2015-03-22 14:04:35 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#2) for review on master by Raghavendra Bhat (raghavendra)

Comment 83 Anand Avati 2015-03-22 14:04:44 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 84 Anand Avati 2015-03-22 14:04:50 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#10) for review on master by Raghavendra Bhat (raghavendra)

Comment 85 Anand Avati 2015-03-22 14:04:56 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 86 Anand Avati 2015-03-22 14:05:06 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend for bitrot cli) posted (#2) for review on master by Raghavendra Bhat (raghavendra)

Comment 87 Anand Avati 2015-03-22 14:05:11 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 88 Anand Avati 2015-03-22 14:05:16 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 89 Anand Avati 2015-03-22 14:05:21 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#10) for review on master by Raghavendra Bhat (raghavendra)

Comment 90 Anand Avati 2015-03-22 14:05:28 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#10) for review on master by Raghavendra Bhat (raghavendra)

Comment 91 Anand Avati 2015-03-22 14:05:32 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#10) for review on master by Raghavendra Bhat (raghavendra)

Comment 92 Anand Avati 2015-03-22 16:20:48 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 93 Anand Avati 2015-03-22 16:20:53 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#13) for review on master by Venky Shankar (vshankar)

Comment 94 Anand Avati 2015-03-22 16:21:03 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#13) for review on master by Venky Shankar (vshankar)

Comment 95 Anand Avati 2015-03-22 16:21:09 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 96 Anand Avati 2015-03-22 16:21:12 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 97 Anand Avati 2015-03-22 16:21:20 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#14) for review on master by Venky Shankar (vshankar)

Comment 98 Anand Avati 2015-03-22 16:21:26 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 99 Anand Avati 2015-03-22 16:21:33 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#14) for review on master by Venky Shankar (vshankar)

Comment 100 Anand Avati 2015-03-22 16:21:42 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#14) for review on master by Venky Shankar (vshankar)

Comment 101 Anand Avati 2015-03-22 16:21:47 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 102 Anand Avati 2015-03-22 16:21:53 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 103 Anand Avati 2015-03-22 16:21:58 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#11) for review on master by Venky Shankar (vshankar)

Comment 104 Anand Avati 2015-03-23 10:57:17 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#8) for review on master by Venky Shankar (vshankar)

Comment 105 Anand Avati 2015-03-23 10:57:20 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#14) for review on master by Venky Shankar (vshankar)

Comment 106 Anand Avati 2015-03-23 10:57:23 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#14) for review on master by Venky Shankar (vshankar)

Comment 107 Anand Avati 2015-03-23 10:57:27 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 108 Anand Avati 2015-03-23 10:57:30 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#12) for review on master by Venky Shankar (vshankar)

Comment 109 Anand Avati 2015-03-23 10:57:33 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#15) for review on master by Venky Shankar (vshankar)

Comment 110 Anand Avati 2015-03-23 10:57:36 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 111 Anand Avati 2015-03-23 10:57:44 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#15) for review on master by Venky Shankar (vshankar)

Comment 112 Anand Avati 2015-03-23 10:57:47 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#15) for review on master by Venky Shankar (vshankar)

Comment 113 Anand Avati 2015-03-23 10:57:50 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#12) for review on master by Venky Shankar (vshankar)

Comment 114 Anand Avati 2015-03-23 10:57:53 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#12) for review on master by Venky Shankar (vshankar)

Comment 115 Anand Avati 2015-03-23 10:57:56 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#12) for review on master by Venky Shankar (vshankar)

Comment 116 Anand Avati 2015-03-23 19:11:51 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#9) for review on master by Raghavendra Bhat (raghavendra)

Comment 117 Anand Avati 2015-03-23 19:12:00 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 118 Anand Avati 2015-03-23 19:12:03 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 119 Anand Avati 2015-03-23 19:12:06 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#5) for review on master by Raghavendra Bhat (raghavendra)

Comment 120 Anand Avati 2015-03-23 19:12:09 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 121 Anand Avati 2015-03-23 19:12:12 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 122 Anand Avati 2015-03-23 19:12:16 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#5) for review on master by Raghavendra Bhat (raghavendra)

Comment 123 Anand Avati 2015-03-23 19:12:19 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 124 Anand Avati 2015-03-23 19:12:22 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 125 Anand Avati 2015-03-23 19:12:25 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 126 Anand Avati 2015-03-23 19:12:28 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 127 Anand Avati 2015-03-23 19:12:31 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#13) for review on master by Raghavendra Bhat (raghavendra)

Comment 128 Anand Avati 2015-03-23 19:19:41 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#10) for review on master by Raghavendra Bhat (raghavendra)

Comment 129 Anand Avati 2015-03-23 19:19:48 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 130 Anand Avati 2015-03-23 19:20:05 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 131 Anand Avati 2015-03-23 19:20:32 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#6) for review on master by Raghavendra Bhat (raghavendra)

Comment 132 Anand Avati 2015-03-23 19:20:41 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#14) for review on master by Raghavendra Bhat (raghavendra)

Comment 133 Anand Avati 2015-03-23 19:20:53 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 134 Anand Avati 2015-03-23 19:21:02 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#6) for review on master by Raghavendra Bhat (raghavendra)

Comment 135 Anand Avati 2015-03-23 19:21:11 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 136 Anand Avati 2015-03-23 19:21:26 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 137 Anand Avati 2015-03-23 19:21:40 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#14) for review on master by Raghavendra Bhat (raghavendra)

Comment 138 Anand Avati 2015-03-23 19:22:04 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#14) for review on master by Raghavendra Bhat (raghavendra)

Comment 139 Anand Avati 2015-03-23 19:22:13 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#14) for review on master by Raghavendra Bhat (raghavendra)

Comment 140 Anand Avati 2015-03-23 19:32:19 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#11) for review on master by Raghavendra Bhat (raghavendra)

Comment 141 Anand Avati 2015-03-23 19:32:29 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 142 Anand Avati 2015-03-23 19:32:38 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 143 Anand Avati 2015-03-23 19:32:58 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#7) for review on master by Raghavendra Bhat (raghavendra)

Comment 144 Anand Avati 2015-03-23 19:33:05 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 145 Anand Avati 2015-03-23 19:33:10 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#18) for review on master by Raghavendra Bhat (raghavendra)

Comment 146 Anand Avati 2015-03-23 19:33:17 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#7) for review on master by Raghavendra Bhat (raghavendra)

Comment 147 Anand Avati 2015-03-23 19:33:26 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#18) for review on master by Raghavendra Bhat (raghavendra)

Comment 148 Anand Avati 2015-03-23 19:33:43 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#18) for review on master by Raghavendra Bhat (raghavendra)

Comment 149 Anand Avati 2015-03-23 19:33:51 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 150 Anand Avati 2015-03-23 19:34:00 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 151 Anand Avati 2015-03-23 19:34:05 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#15) for review on master by Raghavendra Bhat (raghavendra)

Comment 152 Anand Avati 2015-03-24 06:37:25 UTC
REVIEW: http://review.gluster.org/9953 (libgfchangelog: Fix faulty reference to xlator context) posted (#12) for review on master by Raghavendra Bhat (raghavendra)

Comment 153 Anand Avati 2015-03-24 06:37:30 UTC
REVIEW: http://review.gluster.org/9775 (features/changelog: Make use of IPC fop) posted (#18) for review on master by Raghavendra Bhat (raghavendra)

Comment 154 Anand Avati 2015-03-24 06:37:41 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#18) for review on master by Raghavendra Bhat (raghavendra)

Comment 155 Anand Avati 2015-03-24 06:37:51 UTC
REVIEW: http://review.gluster.org/9959 (libgfchangelog: cleanups on disconnection) posted (#8) for review on master by Raghavendra Bhat (raghavendra)

Comment 156 Anand Avati 2015-03-24 06:37:57 UTC
REVIEW: http://review.gluster.org/9916 (Update MAINTAINERS file) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 157 Anand Avati 2015-03-24 06:38:06 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#19) for review on master by Raghavendra Bhat (raghavendra)

Comment 158 Anand Avati 2015-03-24 06:38:09 UTC
REVIEW: http://review.gluster.org/9960 (mgmt/glusterd: glusterd backend infra for bitrot cli) posted (#8) for review on master by Raghavendra Bhat (raghavendra)

Comment 159 Anand Avati 2015-03-24 06:38:12 UTC
REVIEW: http://review.gluster.org/9710 (mgmt/glusterd: generate volfile for BitD) posted (#19) for review on master by Raghavendra Bhat (raghavendra)

Comment 160 Anand Avati 2015-03-24 06:38:16 UTC
REVIEW: http://review.gluster.org/9709 (Bitrot Stub) posted (#19) for review on master by Raghavendra Bhat (raghavendra)

Comment 161 Anand Avati 2015-03-24 06:38:19 UTC
REVIEW: http://review.gluster.org/9913 (core: Add inode context merge callback) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 162 Anand Avati 2015-03-24 06:38:22 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 163 Anand Avati 2015-03-24 06:38:25 UTC
REVIEW: http://review.gluster.org/9915 (mgmt/glusterd: Generate scrub volfile) posted (#16) for review on master by Raghavendra Bhat (raghavendra)

Comment 164 Anand Avati 2015-03-24 13:25:19 UTC
COMMIT: http://review.gluster.org/9953 committed in master by Vijay Bellur (vbellur) 
------
commit 9c9f3f368c693b1cf5f67f3d8d4e599d4ba61383
Author: Venky Shankar <vshankar>
Date:   Thu Mar 19 10:09:04 2015 +0530

    libgfchangelog: Fix faulty reference to xlator context
    
    Problem:
    libgfchangelog initializes global xlator on library load (via
    constructor: _ctor) and mangles it's xlator context thereby
    messing with certain important members of the command structure.
    On receiving an RPC disconnection event, if the point-of-execution
    was in libgfchangelogs context, accessing ->cmd_args during RPC
    notify resulted in a segfault.
    
    Fix:
    Since the libarary needs to be able to work with processes that
    have a notion of an xlator (THIS in particular) and without it,
    care needs to be taken to allocate the global xlator when needed.
    Moreover, the actual fix is to use the correct xlator context
    in both cases. A new API is introduces when needs to be invoked
    by the conusmer (although this could have been done during
    register() call, keeping it a separate API makes thing flexible
    and easy).
    
    Test:
    The issue is observed when a brick process goes offline. This is
    triggered when test cases (.t's) are run in bulk, since each
    test essestially spawns bricks processes (on volume start) and
    terminates them (volume stop). Since bitrot daemon, as of now,
    spawns upon volume start, the issue is much observed when the
    volume is taken offline at the end of each test case. With this
    fix, running the basic and core test cases along with building
    the linux kernel has passed without daemon segfaults.
    
    Thanks to Johnny (rabhat@) for helping in debugging the issue
    (and with the fix :)).
    
    Change-Id: I8d3022bf749590b2ee816504ed9b1dfccc65559a
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9953
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 165 Anand Avati 2015-03-24 13:32:44 UTC
COMMIT: http://review.gluster.org/9959 committed in master by Vijay Bellur (vbellur) 
------
commit 470d5c4af7f85809997a77af187c8f430b0354c8
Author: Venky Shankar <vshankar>
Date:   Sat Mar 21 19:59:45 2015 +0530

    libgfchangelog: cleanups on disconnection
    
    [WIP patch as of now, just needs a little tweak]
    
    A pending TODO in the code caused regressions to fail as
    bitrot daemons are spawned during volume start (equivalent
    to enabling bitrot by default). The problematic part that
    casued such failures is during brick disconnections with
    unsafe handling of event data structured in the code.
    
    With this patch, data structures are properly cleaned up
    with care taken to cleanup all accessors first. This also
    fixes potential memory leaks which was bluntly ignored
    before.
    
    Change-Id: I70ed82cb1a0fb56c85ef390007e321a97a35c5ce
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    original-author: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9959
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 166 Anand Avati 2015-03-24 13:33:41 UTC
COMMIT: http://review.gluster.org/9775 committed in master by Vijay Bellur (vbellur) 
------
commit 9f5addd987861d0a3a1144d576221a7f93af0970
Author: Venky Shankar <vshankar>
Date:   Wed Feb 25 22:21:32 2015 +0530

    features/changelog: Make use of IPC fop
    
    Translators which wish to send event notifications can send
    "down" an IPC FOP with op_type as GF_IPC_TARGET_CHANGELOG
    and xdata carrying event structures (changelog_event_t).
    
    Change-Id: I0e5f8c9170161c186f0e58d07105813e34e18786
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9775
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 167 Anand Avati 2015-03-24 13:34:37 UTC
COMMIT: http://review.gluster.org/9913 committed in master by Vijay Bellur (vbellur) 
------
commit 3c474a042aed68659fe0cfdf32e01285bde9f689
Author: Venky Shankar <vshankar>
Date:   Sun Mar 15 03:43:49 2015 +0530

    core: Add inode context merge callback
    
    Certain translators may require to update the inode context
    of an already linked inode before unwinding the call to the
    client. Normally, such a case in encountered during parallel
    operations when a fresh inode is chosen at call (wind) time.
    In the callback path, one of inodes is successfully linked
    in the inode table, thereby the other inodes being thrown
    away (and the inode pointers for these calls being pointed
    to the linked inode).
    
    Translators which may have strict dependency on the correct
    value in the inode context would get stale values in inode
    context. This patch introduces a new callback which provides
    gives translators an opportunity to "patch" their respective
    inode contexts. Note that, as of now, this callback is only
    invoked during create()s unwind path. Although this might
    needed to be done for all dentry fops and lookup, but let
    that be done as an when required (bitrot stub requires
    this *only* for create()).
    
    Change-Id: I6cd91c2af473c44d1511208060d3978e580c67a6
    BUG: 1170075
    Original-Author: Raghavendra Bhat <rabhat>
    Original-Author: Venky Shankar <vshankar>
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9913
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 168 Anand Avati 2015-03-24 13:37:29 UTC
COMMIT: http://review.gluster.org/9709 committed in master by Vijay Bellur (vbellur) 
------
commit a20101e2e4d5f5595655544cfc798eb1d445638c
Author: Venky Shankar <vshankar>
Date:   Mon Feb 9 18:28:21 2015 +0530

    Bitrot Stub
    
    Bitrot stub implements object versioning required for identifying
    signature freshness. More details about versioning is explained
    as a part of the "bitrot feature documentation" patch.
    
    Change-Id: I2ad70d9eb109ba4a12148ab8d81336afda529ad9
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9709
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 169 Anand Avati 2015-03-24 13:59:38 UTC
COMMIT: http://review.gluster.org/9916 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 33a32b8efac9dbc159c0ed74b9a2a4c6ab686b98
Author: Venky Shankar <vshankar>
Date:   Sun Mar 15 04:26:15 2015 +0530

    Update MAINTAINERS file
    
    - Added maintainers for BitRot detection
    
    Change-Id: Ib5dae02176372e33c7b616f161d909815edbb53f
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9916
    Tested-by: Vijay Bellur <vbellur>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>

Comment 170 Anand Avati 2015-03-24 14:34:21 UTC
REVIEW: http://review.gluster.org/9985 (glusterd: bitrot scrub-throttle/scrub-frequency/scrub option handling) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

Comment 171 Anand Avati 2015-03-24 14:56:36 UTC
COMMIT: http://review.gluster.org/9710 committed in master by Vijay Bellur (vbellur) 
------
commit 84db9f8271f150fbb6024186f7f681e941731280
Author: Venky Shankar <vshankar>
Date:   Wed Jan 7 11:14:31 2015 +0530

    mgmt/glusterd: generate volfile for BitD
    
    * Implement the skeleton of bit-rot xlator.
    
    Original-Author: Raghavendra Bhat <raghavendra>
    Signed-off-by: Venky Shankar <vshankar>
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Signed-off-by: Anand Nekkunti <anekkunt>
    Change-Id: If33218bdc694f5f09cb7b8097c4fdb74d7a23b2d
    BUG: 1170075
    Reviewed-on: http://review.gluster.org/9710
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 172 Anand Avati 2015-03-24 15:14:40 UTC
REVIEW: http://review.gluster.org/9712 (doc: document bit-rot feature) posted (#19) for review on master by Raghavendra Bhat (raghavendra)

Comment 173 Anand Avati 2015-03-24 15:14:44 UTC
REVIEW: http://review.gluster.org/9711 (features/bit-rot: Implementation of bit-rot xlator) posted (#20) for review on master by Raghavendra Bhat (raghavendra)

Comment 174 Anand Avati 2015-03-24 15:14:48 UTC
REVIEW: http://review.gluster.org/9914 (features/bit-rot: filesystem scrubber) posted (#17) for review on master by Raghavendra Bhat (raghavendra)

Comment 175 Anand Avati 2015-03-24 15:14:56 UTC
REVIEW: http://review.gluster.org/9986 (cli/glusterd: CLI interface for BitRot detection) posted (#1) for review on master by Raghavendra Bhat (raghavendra)

Comment 176 Anand Avati 2015-03-24 17:26:26 UTC
COMMIT: http://review.gluster.org/9986 committed in master by Vijay Bellur (vbellur) 
------
commit 31f841d6b35c242942b6bdcbfdc83cf548d5235a
Author: Venky Shankar <vshankar>
Date:   Fri Mar 13 22:00:22 2015 +0530

    cli/glusterd: CLI interface for BitRot detection
    
    * BitRot enable/disable CLI per volume
    * Volfile generation for Scrubber
    * Relevant glusterd infrastructure
    
    Change-Id: I1212af63f93ecc52b22ee6da920e1664f66a1e39
    BUG: 1170075
    Original-Author: Raghavendra Bhat <raghavendra>
    Original-Author: Venky Shankar <vshankar>
    Original-Author: Gaurav Kumar Garg <ggarg>
    Original-Author: Anand Nekkunti <anekkunt>
    Reviewed-on: http://review.gluster.org/9986
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 177 Anand Avati 2015-03-24 17:55:37 UTC
COMMIT: http://review.gluster.org/9711 committed in master by Vijay Bellur (vbellur) 
------
commit 7927e8747c731dbb105e93ae66c336338f48f0e6
Author: Venky Shankar <vshankar>
Date:   Sun Feb 15 15:05:19 2015 +0530

    features/bit-rot: Implementation of bit-rot xlator
    
    This is the "Signer" -- responsible for signing files with their
    checksums upon last file descriptor close (last release()).
    The event notification facility provided by the changelog xlator
    is made use of.
    
    Moreover, checksums are as of now SHA256 hash of the object data
    and is the only available hash at this point of time. Therefore,
    there is no special "what hash to use" type check, although it's
    does not take much to add various hashing algorithms to sign
    objects with. Signatures are stored in extended attributes of the
    objects along with the the type of hashing used to calculate the
    signature. This makes thing future proof when other hash types
    are added. The signature  infrastructure is provided by bitrot
    stub: a little piece of code that sits over the POSIX xlator
    providing interfaces to "get or set" objects signature and it's
    staleness.
    
    Since objects are signed upon receiving release() notification,
    pre-existing data which are "never" modified would never be
    signed. To counter this, an initial crawler thread is spawned
    The crawler scans the entire brick for objects that are unsigned
    or "missed" signing due to the server going offline (node reboots,
    crashes, etc..) and triggers an explicit sign. This would also
    sign objects when bit-rot is enabled for a volume and/or after
    upgrade.
    
    Change-Id: I1d9a98bee6cad1c39c35c53c8fb0fc4bad2bf67b
    BUG: 1170075
    Original-Author: Raghavendra Bhat <raghavendra>
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9711
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 178 Anand Avati 2015-03-24 17:55:56 UTC
COMMIT: http://review.gluster.org/9914 committed in master by Vijay Bellur (vbellur) 
------
commit 866c64ba5e29a90b37fa051061a58300ae129a2c
Author: Venky Shankar <vshankar>
Date:   Fri Mar 13 21:23:20 2015 +0530

    features/bit-rot: filesystem scrubber
    
    Scrubber performs signature verification for objects that were
    signed by signer. This is done by recalculating the signature
    (using the hash algorithm the object was signed with) and
    verifying it aginst the objects persisted signature. Since the
    object could be undergoing IO opretaion at the time of hash
    calculation, the signature may not match objects persisted
    signature. Bitrot stub provides additional information about
    the stalesness of an objects signature (determinted by it's
    versioning mechanism). This additional bit of information is
    used by scrubber to determine the staleness of the signature,
    and in such cases the object is skipped verification (although
    signature staleness is performed twice: once before initiation
    of hash calculation and another after it (an object could be
    modified after staleness checks).
    
    The implmentation is a part of the bitrot xlator (signer) which
    acts as a signer or scrubber based on a translator option. As
    of now the scrub process is ever running (but has some form of
    weak throttling mechanism during filesystem scan). Going forward,
    there needs to be some form of scrub scheduling and IO throttling
    (during hash calculation) tunables (via CLI).
    
    Change-Id: I665ce90208f6074b98c5a1dd841ce776627cc6f9
    BUG: 1170075
    Original-Author: Raghavendra Bhat <rabhat>
    Original-Author: Venky Shankar <vshankar>
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9914
    Tested-by: Vijay Bellur <vbellur>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 179 Anand Avati 2015-03-24 17:57:28 UTC
COMMIT: http://review.gluster.org/9712 committed in master by Vijay Bellur (vbellur) 
------
commit cd3d34289c92f01843a866f4432bdd2da1ee59db
Author: Venky Shankar <vshankar>
Date:   Wed Feb 18 17:01:21 2015 +0530

    doc: document bit-rot feature
    
    Change-Id: Ibad640d01975906b7642c76a1649e3e272f3a8bc
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/9712
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 180 Anand Avati 2015-03-25 11:59:08 UTC
COMMIT: http://review.gluster.org/9985 committed in master by Vijay Bellur (vbellur) 
------
commit 1579d633dbeeeede20d016bbec806a00688e32f3
Author: Gaurav Kumar Garg <ggarg>
Date:   Tue Mar 24 18:20:42 2015 +0530

    glusterd: bitrot scrub-throttle/scrub-frequency/scrub option handling
    
    CLI commands for bitrot features:
    volume bitrot <volname> {scrub-throttle frozen|lazy|normal|aggressive}
    volume bitrot <volname> {scrub-frequency daily|weekly|biweekly|monthly}
    volume bitrot <volname> {scrub pause|resume}
    
    These commands will handle their options and set respective value in
    dictionary.
    
    Change-Id: I1e8aa1b1c7d91a7f0faec9a2968b3072f42f8ba8
    BUG: 1170075
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Reviewed-on: http://review.gluster.org/9985
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Atin Mukherjee <amukherj>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 181 Anand Avati 2015-03-25 13:12:01 UTC
REVIEW: http://review.gluster.org/9993 (geo-rep: Use gfchangelog context init API) posted (#1) for review on master by Aravinda VK (avishwan)

Comment 182 Anand Avati 2015-03-27 09:04:13 UTC
COMMIT: http://review.gluster.org/9993 committed in master by Venky Shankar (vshankar) 
------
commit d331c3196392dd6cf857b79388780bf03b802392
Author: Venky Shankar <vshankar>
Date:   Fri Mar 20 03:13:27 2015 +0530

    geo-rep: Use gfchangelog context init API
    
    With the RPC based changes to {libgf}changelog, changelog_init
    is required before changelog_register.
    
    Change-Id: Id125b2bd2e51aaaffa22ecab463dfb739c50d83c
    Signed-off-by: Venky Shankar <vshankar>
    BUG: 1170075
    Reviewed-on: http://review.gluster.org/9993
    Reviewed-by: Saravanakumar Arumugam <sarumuga>
    Tested-by: Saravanakumar Arumugam <sarumuga>
    Tested-by: Gluster Build System <jenkins.com>

Comment 183 Anand Avati 2015-04-07 10:05:46 UTC
REVIEW: http://review.gluster.org/10148 (features/bit-rot: Mark versioning fsetxattr as internal fop) posted (#1) for review on master by Kotresh HR (khiremat)

Comment 184 Anand Avati 2015-04-08 09:22:06 UTC
REVIEW: http://review.gluster.org/10160 (features/bitrot-stub: header file update in noinst_HEADERS) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 185 Anand Avati 2015-04-08 09:24:27 UTC
REVIEW: http://review.gluster.org/10160 (features/bitrot-stub: header file update in noinst_HEADERS) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 186 Anand Avati 2015-04-08 10:16:19 UTC
REVIEW: http://review.gluster.org/10161 (features/bitrot-stub: Packed format for version xattr) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 187 Anand Avati 2015-04-08 10:24:32 UTC
REVIEW: http://review.gluster.org/10148 (features/bit-rot: Mark versioning fsetxattr as internal fop) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 188 Anand Avati 2015-04-08 10:51:37 UTC
COMMIT: http://review.gluster.org/10160 committed in master by Vijay Bellur (vbellur) 
------
commit 5502ead3804695e6e1edc48fd17e2b3fe7241131
Author: Venky Shankar <vshankar>
Date:   Wed Apr 8 14:46:33 2015 +0530

    features/bitrot-stub: header file update in noinst_HEADERS
    
    Missing "bit-rot-object-version.h" causing devrpm failures.
    
    Change-Id: I5af326c5871cc468a10dece4772b29eda06c4fa9
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10160
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Tested-by: Vijay Bellur <vbellur>

Comment 189 Anand Avati 2015-04-08 11:45:03 UTC
REVIEW: http://review.gluster.org/10161 (features/bitrot-stub: Packed format for version xattr) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 190 Anand Avati 2015-04-09 04:58:23 UTC
REVIEW: http://review.gluster.org/10148 (features/bit-rot: Mark versioning fsetxattr as internal fop) posted (#3) for review on master by Kotresh HR (khiremat)

Comment 191 Anand Avati 2015-04-09 08:55:48 UTC
COMMIT: http://review.gluster.org/10161 committed in master by Vijay Bellur (vbellur) 
------
commit 221f260c9d5793d9a1b4ab60dd160bdd41ff3b59
Author: Venky Shankar <vshankar>
Date:   Wed Apr 8 14:43:47 2015 +0530

    features/bitrot-stub: Packed format for version xattr
    
    Using __attribute__ ((__packed__)) for object signature xattr
    saves some bytes (7 bytes to be particular) occupied by the
    extended attribute on-disk as compared to the unpacked format.
    
    Change-Id: I91a6a0a54aa60e6fd8c357d72f7601b6ed213f2d
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10161
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 192 Anand Avati 2015-04-09 10:36:51 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 193 Anand Avati 2015-04-09 16:23:32 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 194 Anand Avati 2015-04-10 08:53:22 UTC
REVIEW: http://review.gluster.org/10148 (features/bit-rot: Mark versioning fsetxattr as internal fop) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 195 Anand Avati 2015-04-10 09:12:13 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 196 Anand Avati 2015-04-11 05:09:12 UTC
COMMIT: http://review.gluster.org/10148 committed in master by Venky Shankar (vshankar) 
------
commit af569aaf6ee69ed77be8afc82b4c496041a7bd1b
Author: Kotresh HR <khiremat>
Date:   Tue Apr 7 15:02:30 2015 +0530

    features/bit-rot: Mark versioning fsetxattr as internal fop
    
    Changelog xlator was capturing bitrot-stub's fsetxattr sent
    for versioning. Since it was using the same frame as of the
    create fop, there was inconsistency in fop number and gfid
    of capturing metadata. So fix is to mark fsetxattr used for
    versioning as internal and add internal fop filter in
    changelog_fsetxattr.
    
    Change-Id: I51ff468995139838b22bf293a59a0713a92ee7a5
    BUG: 1170075
    Signed-off-by: Kotresh HR <khiremat>
    Reviewed-on: http://review.gluster.org/10148
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Venky Shankar <vshankar>
    Tested-by: Venky Shankar <vshankar>

Comment 197 Anand Avati 2015-04-11 05:25:03 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 198 Anand Avati 2015-04-14 06:08:23 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 200 Anand Avati 2015-04-21 09:46:18 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 201 Anand Avati 2015-04-23 06:30:22 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 202 Anand Avati 2015-04-23 15:33:22 UTC
REVIEW: http://review.gluster.org/10352 (bitrot/scrubber: new volfile for bitrot and scrubber) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

Comment 203 Anand Avati 2015-04-24 12:24:05 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#2) for review on master by Gaurav Kumar Garg (ggarg)

Comment 204 Anand Avati 2015-04-26 06:36:44 UTC
REVIEW: http://review.gluster.org/10375 (bitrot/scrub: fix induced throttling in syncop_ftw_throttle()) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 205 Anand Avati 2015-04-26 11:25:51 UTC
REVIEW: http://review.gluster.org/10380 (core: Global timer-wheel) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 206 Anand Avati 2015-04-26 11:25:53 UTC
REVIEW: http://review.gluster.org/10381 (features/bitrot: Use global timer wheel) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 207 Anand Avati 2015-04-26 11:51:30 UTC
COMMIT: http://review.gluster.org/10375 committed in master by Vijay Bellur (vbellur) 
------
commit 7be43338ff292eb9ff43892e05eb83575e66433c
Author: Venky Shankar <vshankar>
Date:   Fri Apr 24 21:43:25 2015 +0530

    bitrot/scrub: fix induced throttling in syncop_ftw_throttle()
    
    Failing to reset scanning counter causes "incorrect" delay of around
    50 seconds per directory entry. This causes scrubber to run extremely
    slowly.
    
    [
        NOTE: This is a temporary fix. With the introduction of token
              bucket based throttling, inducing throttle via sleep()
              call would be unneeded.
    ]
    
    Also, fix logging messages in scrubber to log brick and full path
    of the object which is identified/marked as corrupted.
    
    Change-Id: Id501bd15dcdbd8a09613f80f9d84050304740027
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10375
    Tested-by: NetBSD Build System
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Reviewed-by: Gaurav Kumar Garg <ggarg>

Comment 208 Anand Avati 2015-04-26 13:51:56 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

Comment 209 Anand Avati 2015-04-26 18:04:14 UTC
COMMIT: http://review.gluster.org/10380 committed in master by Vijay Bellur (vbellur) 
------
commit 004f64e93d23f44144483d21422f47e81d358045
Author: Venky Shankar <vshankar>
Date:   Fri Apr 24 10:10:35 2015 +0530

    core: Global timer-wheel
    
    Instantiate a process wide global instance of the timer wheel
    data structure. Spawning glusterfs* process with option arg
    "--global-timer-wheel" instantiates a global instance of
    timer-wheel under global context (->ctx).
    
    Translators can make use of this process wide instance [via a
    call to glusterfs_global_timer_wheel()] instead of maintaining
    an instance of their own and possibly consuming more memory.
    Linux kernel too has a single instance of timer wheel where
    subsystems such as IO, networking, etc.. make use of.
    
    Bitrot daemon would be early consumers of this: bitrot translator
    instances for multiple volumes would track objects belonging to
    their respective bricks in this global expiry tracking data
    structure. This is also a first step to move GlusterFS timer
    mechanism to use timer-wheel.
    
    Change-Id: Ie882df607e07acaced846ea269ebf1ece306d6ae
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10380
    Tested-by: NetBSD Build System
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Gluster Build System <jenkins.com>

Comment 210 Anand Avati 2015-04-27 04:31:14 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 211 Anand Avati 2015-04-27 10:52:12 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#5) for review on master by Gaurav Kumar Garg (ggarg)

Comment 212 Anand Avati 2015-04-27 17:06:13 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#4) for review on master by Venky Shankar (vshankar)

Comment 213 Anand Avati 2015-04-27 17:06:27 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 214 Anand Avati 2015-04-28 04:46:25 UTC
REVIEW: http://review.gluster.org/10381 (features/bitrot: Use global timer wheel) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 215 Anand Avati 2015-04-28 07:26:22 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#6) for review on master by Gaurav Kumar Garg (ggarg)

Comment 216 Anand Avati 2015-04-28 12:29:13 UTC
REVIEW: http://review.gluster.org/10381 (features/bitrot: Use global timer wheel) posted (#3) for review on master by Venky Shankar (vshankar)

Comment 217 Anand Avati 2015-04-29 09:32:41 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#7) for review on master by Gaurav Kumar Garg (ggarg)

Comment 218 Anand Avati 2015-04-30 09:36:13 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 219 Anand Avati 2015-04-30 09:36:47 UTC
REVIEW: http://review.gluster.org/10174 (tests/bitrot: Parallel open() test case) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 220 Anand Avati 2015-04-30 09:56:02 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#8) for review on master by Gaurav Kumar Garg (ggarg)

Comment 221 Anand Avati 2015-04-30 10:10:29 UTC
COMMIT: http://review.gluster.org/10381 committed in master by Vijay Bellur (vbellur) 
------
commit 0c5910a39b8daad2b131c1f7f48b0bf3b8f46030
Author: Venky Shankar <vshankar>
Date:   Sun Apr 26 16:25:08 2015 +0530

    features/bitrot: Use global timer wheel
    
    Change-Id: I761927ea263b4144b851881f25791fda5b794f59
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10381
    Tested-by: NetBSD Build System
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 222 Anand Avati 2015-05-01 07:07:57 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#6) for review on master by Venky Shankar (vshankar)

Comment 223 Anand Avati 2015-05-01 18:15:51 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#9) for review on master by Gaurav Kumar Garg (ggarg)

Comment 224 Anand Avati 2015-05-02 18:01:28 UTC
REVIEW: http://review.gluster.org/10352 (features/bitrot: Per volume bitrot translator) posted (#10) for review on master by Gaurav Kumar Garg (ggarg)

Comment 225 Anand Avati 2015-05-03 06:37:52 UTC
REVIEW: http://review.gluster.org/10181 (features/bitrot: Follow xattr naming conventions) posted (#7) for review on master by Venky Shankar (vshankar)

Comment 226 Anand Avati 2015-05-04 04:14:16 UTC
REVIEW: http://review.gluster.org/10512 (bitrot/scrub: minor logging changes) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 227 Anand Avati 2015-05-04 05:17:29 UTC
COMMIT: http://review.gluster.org/10352 committed in master by Kaushal M (kaushal) 
------
commit f81deb95db417eeededf7442a30304a880cc8169
Author: Gaurav Kumar Garg <ggarg>
Date:   Thu Apr 23 18:44:30 2015 +0530

    features/bitrot: Per volume bitrot translator
    
    Currently whatever bitrot/scrubber tunable value user set for one
    volume that value is considering for all other volumes also.
    Each volume should act on their respective bitrot/scrubber tunable
    value.
    
    For handling bitrot/scrubber tunable value independently with respect
    to all the volume bitrot and scrubber translator should run seperatly
    for each volume.
    
    Change-Id: I1d9379508afe6cfd2f78e3ebf29c829c362d84a9
    BUG: 1170075
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Reviewed-on: http://review.gluster.org/10352
    Reviewed-by: Venky Shankar <vshankar>
    Tested-by: Venky Shankar <vshankar>
    Reviewed-by: Atin Mukherjee <amukherj>
    Reviewed-by: Kaushal M <kaushal>

Comment 228 Anand Avati 2015-05-06 10:04:45 UTC
COMMIT: http://review.gluster.org/10181 committed in master by Vijay Bellur (vbellur) 
------
commit b03f9699055eed3f1c5d73e36bbe8474a1419304
Author: Venky Shankar <vshankar>
Date:   Thu Apr 9 16:26:31 2015 +0530

    features/bitrot: Follow xattr naming conventions
    
    Instead of "trusted.glusterfs.bit-rot.*" use "trusted.bit-rot.*"
    
    NOTE:
    With this patch, data on existing volumes would be resigned
    (which should be OK as of now since we do not expect many
    users as of now :-))
    
    Change-Id: I926c7bca266a9c8f2cb35d57c4d0359aa5cecfa0
    BUG: 1170075
    Signed-off-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/10181
    Tested-by: NetBSD Build System
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 229 Anand Avati 2015-05-06 10:15:41 UTC
REVIEW: http://review.gluster.org/10512 (bitrot/scrub: minor logging changes) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

Comment 230 Anand Avati 2015-05-06 11:01:03 UTC
REVIEW: http://review.gluster.org/10607 (doc/admin-guide: BitRot ciommand line usages) posted (#1) for review on master by Venky Shankar (vshankar)

Comment 231 Anand Avati 2015-05-06 11:05:27 UTC
REVIEW: http://review.gluster.org/10607 (doc/admin-guide: BitRot command line usage) posted (#2) for review on master by Venky Shankar (vshankar)

Comment 232 Anand Avati 2015-05-07 05:11:12 UTC
REVIEW: http://review.gluster.org/10512 (bitrot/scrub: minor logging changes) posted (#5) for review on master by Venky Shankar (vshankar)

Comment 233 Anand Avati 2015-05-07 11:06:56 UTC
REVIEW: http://review.gluster.org/10512 (bitrot/scrub: minor logging changes) posted (#6) for review on master by Gaurav Kumar Garg (ggarg)

Comment 234 Anand Avati 2015-05-08 05:52:43 UTC
REVIEW: http://review.gluster.org/10512 (bitrot/scrub: minor logging changes) posted (#8) for review on master by Gaurav Kumar Garg (ggarg)

Comment 235 Niels de Vos 2016-06-16 16:18:09 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report.

glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


Note You need to log in before you can comment on or make changes to this bug.