[Gluster-devel] close() blocks until flush-behind finishes

Paul van Tilburg paul at luon.net
Tue Sep 13 18:29:41 UTC 2011


Hi all,

I have a glusterfs test setup of two servers, each with a brick, that is
replicated.  Between the two servers there is a bandwidth limit and I
would like the flush-behind option to handle getting the data to the
other side asynchronously.  I am using Debian Squeeze with glusterfs
3.2.3-1.  Volume setup:

  gluster> volume info

  Volume Name: vol1
  Type: Replicate
  Status: Started
  Number of Bricks: 2
  Transport-type: tcp
  Bricks:
  Brick1: glusterserver.home:/tmp/rep
  Brick2: glusterclient.home:/tmp/rep
  Options Reconfigured:
  performance.write-behind-window-size: 32MB
  performance.flush-behind: on

However, it seems that when I create a file of 40MB with dd on
glusterclient.home, the close() system call blocks until everything has
fully reached glusterserver.home.  This problem has been brought up
before on the users list[1].  I also recall a discussion, back when
flush-behind was default off, that making close non-blocking is
considered to be safe[2].

It seem like I have hit a bug here and would thus like to file a
report.  Unless I missed something in the configuration/documentation?

Thanks!

Paul

1: http://www.mail-archive.com/gluster-users@gluster.org/msg01023.html
2: http://comments.gmane.org/gmane.comp.file-systems.gluster.user/3152

-- 
PhD Student @ Eindhoven                     | email: paul at luon.net
University of Technology, The Netherlands   | JID: paul at luon.net
>>> Using the Power of Debian GNU/Linux <<< | GnuPG key ID: 0x50064181




More information about the Gluster-devel mailing list