[Bugs] [Bug 1167793] New: fsync on write-back doesn't wait for pending writes when an error is encountered

bugzilla at redhat.com bugzilla at redhat.com
Tue Nov 25 12:37:51 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=1167793

            Bug ID: 1167793
           Summary: fsync on write-back doesn't wait for pending writes
                    when an error is encountered
           Product: GlusterFS
           Version: mainline
         Component: write-behind
          Assignee: bugs at gluster.org
          Reporter: xhernandez at datalab.es
                CC: bugs at gluster.org, gluster-bugs at redhat.com



Description of problem:

When multiple writes are sent in parallel and one of them fails, a following
fsync should wait until all other writes finish.

Version-Release number of selected component (if applicable): mainline


How reproducible:

Always on NetBSD, though it's not easily visible from an application unless a
side effect is checked.

Steps to Reproduce:
1. create a dispersed volume and limit a directory with quota
2. write a file larger than the assigned quota on that directory (it will fail)
3. immediately after failing (it should be done very fast, like in a script),
delete the file.
4. glusterfs will crash because file is closed after fsync and some of the
pending writes return ENOENT and this is unexpected in DHT (not sure why ENOENT
though)

Actual results:

Control is returned to the user before all pending write have finished.

Expected results:

The call should block the application until all pending writes are fully
processed.

Additional info:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list