[Bugs] [Bug 1255604] Not able to recover the corrupted file on Replica volume
bugzilla at redhat.com
bugzilla at redhat.com
Fri Aug 21 11:48:59 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1255604
--- Comment #2 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/11973 committed in release-3.7 by Raghavendra
G (rgowdapp at redhat.com)
------
commit cb879d6adbb9194b488f2ad7a97cf7fc7f5a5ef5
Author: Raghavendra Bhat <raghavendra at redhat.com>
Date: Wed Jul 1 15:56:58 2015 +0530
protocol/server: forget the inodes which got ENOENT in lookup
Backport of http://review.gluster.org/11489
If a looked up object is removed from the backend, then upon getting a
revalidated lookup on that object ENOENT error is received. protocol/server
xlator handles it by removing dentry upon which ENOENT is received. But the
inode associated with it still remains in the inode table, and whoever does
nameless lookup on the gfid of that object will be able to do it
successfully
despite the object being not present.
For handling this issue, upon getting ENOENT on a looked up entry in
revalidate
lookups, protocol/server should forget the inode as well.
Though removing files directly from the backend is not allowed, in case of
objects corrupted due to bitrot and marked as bad by scrubber, objects are
removed directly from the backend in case of replicate volumes, so that the
object is healed from the good copy. For handling this, the inode of the
bad
object removed from the backend should be forgotten. Otherwise, the inode
which
knows the object it represents is bad, does not allow read/write operations
happening as part of self-heal.
Change-Id: I268eeaf37969458687425187be6622347a6cc1f1
BUG: 1255604
Signed-off-by: Raghavendra Bhat <raghavendra at redhat.com>
Reviewed-on: http://review.gluster.org/11973
Tested-by: NetBSD Build System <jenkins at build.gluster.org>
Tested-by: Gluster Build System <jenkins at build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
--
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