Hide Forgot
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
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)
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)
PATCH: http://patches.gluster.com/patch/5362 in master (fuse: retire the faked-FLUSH-upon-RELEASE hack)