[Bugs] [Bug 1313131] [New] - quarantine folder becomes empty and bitrot status does not list any files which are corrupted

bugzilla at redhat.com bugzilla at redhat.com
Mon Mar 7 13:07:58 UTC 2016


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



--- Comment #3 from Vijay Bellur <vbellur at redhat.com> ---
COMMIT: http://review.gluster.org/13552 committed in release-3.7 by Venky
Shankar (vshankar at redhat.com) 
------
commit fea3a6d1258a700043cc37ec35c8ffdbd1aefa41
Author: Raghavendra Bhat <raghavendra at redhat.com>
Date:   Tue Feb 16 20:22:36 2016 -0500

    features/bitrot: do not remove the quarantine handle in forget

    If an object is marked as bad, then an entry is corresponding to the
    bad object is created in the .glusterfs/quarantine directory to help
    scrub status. The entry name is the gfid of the corrupted object.
    The quarantine handle is removed in below 2 cases.

    1) When protocol/server revceives the -ve lookup on an entry whose inode
       is there in the inode table (it can happen when the corrupted object
       is deleted directly from the backend for recovery purpose) it sends a
       forget on the inode and bit-rot-stub removes the quarantine handle in
       upon getting the forget.
       refer to the below commit
       f853ed9c61bf65cb39f859470a8ffe8973818868:
       http://review.gluster.org/12743)

    2) When bit-rot-stub itself realizes that lookup on a corrupted object
       has failed with ENOENT.

    But with step1, there is a problem when the bit-rot-stub receives forget
    due to lru limit exceeding in the inode table. In such cases, though the
    corrupted object is not deleted (either from the mount point or from the
    backend), the handle in the quarantine directory is removed and that object
    is not shown in the bad objects list in the scrub status command.

    So it is better to follow only 2nd step (i.e. bit-rot-stub removing the
handle
    from the quarantine directory in -ve lookups). Also the handle has to be
removed
    when a corrupted object is unlinked from the mount point itself.

    Change-Id: Ibc3bbaf4bc8a5f8986085e87b729ab912cbf8cf9
    BUG: 1313131
    Original author: Raghavendra Bhat <raghavendra at redhat.com>
    Signed-off-by: Kotresh HR <khiremat at redhat.com>
    Reviewed-on: http://review.gluster.org/13472
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Venky Shankar <vshankar at redhat.com>
    (cherry picked from commit 2102010edab355ac9882eea41a46edaca8b9d02c)
    Reviewed-on: http://review.gluster.org/13552
    Tested-by: Venky Shankar <vshankar at redhat.com>

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


More information about the Bugs mailing list