Bug 761955 (GLUSTER-223)

Summary: flush not sent
Product: [Community] GlusterFS Reporter: Vikas Gorur <vikas>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 2.0.5CC: aavati, amarts, avati, gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: DNR CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Vikas Gorur 2009-08-20 09:07:25 UTC
The following was observed in connection with running Xen.

Both replicate backends have 0x00000001 xattr, strongly indicating that
the decrementing xattrop was never called. The client log shows that after many
writes, release was called, with flush never being called. And replicate does
the decrement only in flush.

[2009-08-20 14:26:02] T [fuse-bridge.c:1567:fuse_write] glusterfs-fuse: 8991: WRITE (0x70c9f
b0, size=2560, offset=107126784)
[2009-08-20 14:26:02] T [fuse-bridge.c:1528:fuse_writev_cbk] glusterfs-fuse: 8991: WRITE =>
2560/2560,107126784/8589934594
[2009-08-20 14:26:06] T [fuse-bridge.c:1610:fuse_release] glusterfs-fuse: 8992: RELEASE 0x70
c9fb0

This is further corroborated by the server logs:

[2009-08-20 14:26:02] T [server-protocol.c:3973:server_writev] brick: 36538: WRITEV 'fd=0 (1
776309); offset=111030272; size=2560
[2009-08-20 14:26:02] T [server-protocol.c:3973:server_writev] brick: 36539: WRITEV 'fd=0 (1
776309); offset=107125248; size=1536
[2009-08-20 14:26:02] T [server-protocol.c:3973:server_writev] brick: 36540: WRITEV 'fd=0 (1
776309); offset=107126784; size=2560
[2009-08-20 14:26:06] T [server-protocol.c:4027:server_release] brick: 36541: RELEASE 'fd=0'

Kernel version: 2.6.18-128.1.10.el5xen
fuse init (API version 7.8)
fuse distribution version: 2.7.4

Comment 1 Anand Avati 2009-09-23 13:19:28 UTC
PATCH: http://patches.gluster.com/patch/1442 in master (fuse: emit a flush from release if we didn't get an adjacent FLUSH message from the kernel)

Comment 2 Anand Avati 2009-09-23 13:19:32 UTC
PATCH: http://patches.gluster.com/patch/1466 in release-2.0 (fuse: emit a flush from release if we didn't get an adjacent FLUSH message from the kernel)

Comment 3 Anand Avati 2010-10-27 03:56:31 UTC
PATCH: http://patches.gluster.com/patch/5362 in master (fuse: retire the faked-FLUSH-upon-RELEASE hack)