Description of problem: When quick-read is enabled using volume set operation while bonnie++ is in process, bonnie++ exits with an EBADF Version-Release number of selected component (if applicable): upstream How reproducible: Consistently Steps to Reproduce: 1. bonnie++ -u root -d /mnt/gluster 2. gluster volume set test2 performance.quick-read on 3. Actual results: write(3, "r", 1) = 1 write(3, "s", 1) = 1 write(3, "t", 1) = 1 write(3, "u", 1) = 1 write(3, "v", 1) = -1 EEXIST (File exists) write(2, "Can't write() - disk full?\n", 27Can't write() - disk full? ) = 27 fsync(3) = -1 EEXIST (File exists) write(2, "Can't sync file.\n", 17Can't sync file. ) = 17 close(3) = 0 unlink("./Bonnie.10235") = 0 close(4294967295) = -1 EBADF (Bad file descriptor) close(4294967295) = -1 EBADF (Bad file descriptor) close(4294967295) = -1 EBADF (Bad file descriptor) close(4294967295) = -1 EBADF (Bad file descriptor) exit_group(1) = ? Expected results: Additional info: Client log- [2012-03-13 15:40:20.935987] I [fuse-bridge.c:4095:fuse_graph_setup] 0-fuse: switched to graph 19 [2012-03-13 15:40:20.936093] D [client-handshake.c:429:client_set_lk_version_cbk] 19-test2-client-0: Server lk version = 1 [2012-03-13 15:40:20.957035] W [client3_1-fops.c:375:client3_1_open_cbk] 19-test2-client-0: remote operation failed: File exists. Path: [2012-03-13 15:40:20.957078] W [fuse-bridge.c:3590:fuse_migrate_fd] 0-glusterfs-fuse: open on gfid (73cdb941-78e8-4870-8904-27d565dee599) failed (File exists) [2012-03-13 15:40:20.957134] I [client.c:2092:notify] 18-test2-client-0: current graph is no longer active, destroying rpc_client [2012-03-13 15:40:20.957255] D [socket.c:193:__socket_rwv] 18-test2-client-0: EOF from peer 127.0.1.1:24009 [2012-03-13 15:40:20.957274] D [socket.c:1521:__socket_proto_state_machine] 18-test2-client-0: reading from socket failed. Error (Transport endpoint is not connected), peer (127.0.1.1:24009) [2012-03-13 15:40:20.957289] D [socket.c:1807:socket_event_handler] 18-transport: disconnecting now [2012-03-13 15:40:20.957346] W [client.c:2016:client_rpc_notify] 18-test2-client-0: Registering a grace timer [2012-03-13 15:40:20.957362] I [client.c:2031:client_rpc_notify] 18-test2-client-0: disconnected [2012-03-13 15:40:20.957376] D [fuse-bridge.c:4113:notify] 0-fuse: got event 6 on graph 18 [2012-03-13 15:40:20.957427] W [client3_1-fops.c:375:client3_1_open_cbk] 19-test2-client-0: remote operation failed: File exists. Path: [2012-03-13 15:40:20.957445] W [quick-read.c:1364:qr_writev_helper] 19-test2-quick-read: open failed on path () (Invalid argument), unwinding write call [2012-03-13 15:40:20.957462] W [fuse-bridge.c:1997:fuse_writev_cbk] 0-glusterfs-fuse: 2216560: WRITE => -1 (File exists) [2012-03-13 15:40:20.957916] W [client3_1-fops.c:375:client3_1_open_cbk] 19-test2-client-0: remote operation failed: File exists. Path: [2012-03-13 15:40:20.957938] W [quick-read.c:2603:qr_fsync_helper] 19-test2-quick-read: open failed on path () (File exists), unwinding fsync call [2012-03-13 15:40:20.957954] W [fuse-bridge.c:945:fuse_err_cbk] 0-glusterfs-fuse: 2216561: FSYNC() ERR => -1 (File exists) [2012-03-13 15:40:21.925900] W [client.c:112:client_grace_timeout] 17-test2-client-0: client grace timer expired, updating the lk-version to 2 [2012-03-13 15:40:31.926973] W [client.c:112:client_grace_timeout] 18-test2-client-0: client grace timer expired, updating the lk-version to 2
CHANGE: http://review.gluster.com/2943 (mount/fuse-bridge: don't pass flags O_CREAT | O_EXCL during open as part of fd-migration during graph-switch) merged in master by Anand Avati (avati)
Verified with 3.3.0qa29