[Gluster-devel] Disabling use of anonymous fds in open-behind

Raghavendra Gowdappa rgowdapp at redhat.com
Tue Jun 12 02:44:26 UTC 2018


This is an option in open-behind, which lets fuse native mounts to use
anonymous fds. The reasoning being since anonymous fds are stateless,
overhead of open is avoided and hence better performance. However, bugs
filed [1][2] seemed to indicate contrary results.

Also, using anonymous fds affects other xlators which rely on per fd state

So, this brings to the point do anonymous-fds actually improve performance
on native fuse mounts? If not, we can disable them. May be they are useful
for light weight metadata operations like fstat, but the workload should
only be limited to them. Note that anonymous fds are used by open-behind by
only two fops - readv and fstat. But, [1] has shown that they actually
regress performance for sequential reads.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1419807
[2] https://bugzilla.redhat.com/1489513, "read-ahead underperrforms
      open-behind without patch (MiB/s) with patch (MiB/s)
          on          132.87                133.51
          off         139.70                139.77

[3] https://bugzilla.redhat.com/show_bug.cgi?id=1084508

PS: Anonymous fds are stateless fds, where a client like native fuse mount
doesn't do an explicit open. Instead, bricks do the open on-demand during
fops which need an fd (like readv, fstat etc).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20180612/a7b60e30/attachment.html>

More information about the Gluster-devel mailing list