[Gluster-devel] Preventing lookups from serving metadata.
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).
More information about the Gluster-devel