[Gluster-devel] Preventing lookups from serving metadata.

Ravishankar N ravishankar at redhat.com
Tue Nov 8 13:10:58 UTC 2016


So there is a class of bugs* in exposed in replicate volumes where if 
the only good copy of the file is down, we still end up serving stale 
data to the application because of caching
in various layers outside gluster. In fuse, this can be mitigated by 
setting attribute and entry-timeout to zero so that the actual FOP 
(stat, read, write, etc) reaches AFR which will
then fail it with EIO. But this does not work for NFS based clients.

1) Is there a way by which we can make the 'lookup' FOP in gluster do 
just that- i.e. tell whether the entry exists or not, and *not serve* 
any other (stat) information except the gfid?

2) If that is not possible, it is okay for AFR to fail lookups with EIO 
if when client-quorum is met and there is no source available? The 
downside is that if we fail lookups with EIO, even unlink cannot be served.
(Think of  a user who doesn't want to resolve a file in split-brain, but 
rather delete it).

Thanks,
Ravi

*bugs:
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1356974
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1224709






More information about the Gluster-devel mailing list