[Bugs] [Bug 1255604] New: Not able to recover the corrupted file on Replica volume

bugzilla at redhat.com bugzilla at redhat.com
Fri Aug 21 06:22:15 UTC 2015


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

            Bug ID: 1255604
           Summary: Not able to recover the corrupted file on Replica
                    volume
           Product: GlusterFS
           Version: 3.7.3
         Component: bitrot
          Keywords: Triaged
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: rabhat at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com,
                    pkarampu at redhat.com, rhs-bugs at redhat.com,
                    rmekala at redhat.com
        Depends On: 1238171, 1238188
      Docs Contact: bugs at gluster.org



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

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

Description of problem:
=======================
Not able to recover the corrupted file on Replica volume 


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

How reproducible:


Steps to Reproduce:
==========================
1.Create 1X2 volume and enable bitrot, once the file is signed modify the file
directly from the brick on any of the node
2.Once scrubber marks the file as bad , trying to recover the file by running
following steps

3. Get the gfid of the corrupted file by running the getfattr -d -m . -e hex
<filename>
4. Delete the corrupted file directly from the back-end
5. Go to the /brick/.glsuterfs and delete the gfid file
6. From the FUSE mount access the corrupted file 
7. Run gluster volume heal volname to get the deleted corrupted file

Actual results:
Self heal is failing 

Expected results:
User should be able to recover the bad file

--- Additional comment from Raghavendra Bhat on 2015-07-02 04:55:39 EDT ---

Here it seems, the entry is deleted from the backend. But the in memory inode
is still there in the inode table. Upon deletion of the entry, the next lookup
fails and it unlinks the dentry. But the inode associated with it is still
there in the inode table and that inode has marked the object as bad in its
context. So, any kind of self-heal operation is denied by bit-rot-stub as it
does not allow read/write operations on a bad object.

--- Additional comment from Raghavendra Bhat on 2015-08-20 06:43:46 EDT ---

http://review.gluster.org/#/c/11489/5 has been submitted for review.

--- Additional comment from Anand Avati on 2015-08-20 06:59:32 EDT ---

REVIEW: http://review.gluster.org/11489 (protocol/server: forget the inodes
which got ENOENT in lookup) posted (#6) for review on master by Raghavendra
Bhat (raghavendra at redhat.com)

--- Additional comment from Raghavendra Bhat on 2015-08-21 02:21:42 EDT ---

http://review.gluster.org/11489 has been merged. Moving it to MODIFIED.


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1238171
[Bug 1238171] Not able to recover the corrupted file on Replica volume
https://bugzilla.redhat.com/show_bug.cgi?id=1238188
[Bug 1238188] Not able to recover the corrupted file on Replica volume
-- 
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