Description of problem: glusterfs crashed while running sanity for stripe Version-Release number of selected component (if applicable): Mainline How reproducible: always Steps to Reproduce: 1. create a stripe volume with count 2 2. run the sanity tests on mount point. Actual results: glusterfs crash Expected results: Additional info: stripe_size from fd_ctx is zero . (gdb) l 3753 local->stripe_size = stripe_size; 3754 3755 while (1) { 3756 /* Send striped chunk of the vector to child 3757 nodes appropriately. */ 3758 idx = (((offset + offset_offset) / 3759 local->stripe_size) % fctx->stripe_count); 3760 3761 fill_size = (local->stripe_size - 3762 ((offset + offset_offset) % local->stripe_size)); (gdb) p stripe_size $12 = 0 (gdb) bt #0 0x00007fb2b9af7e8d in stripe_writev (frame=0x7fb2be856e5c, this=0x135d3b0, fd=0x7fb2b804b220, vector=0x7fb2ac037800, count=1, offset=0, flags=36866, iobref=0x7fb2ac047030) at stripe.c:3758 #1 0x00007fb2b98ca19c in wb_sync (frame=0x7fb2bd8132d8, file=0x1410ae0, winds=0x7fb2b3741720) at write-behind.c:548 #2 0x00007fb2b98d0c28 in wb_do_ops (frame=0x7fb2bd8132d8, file=0x1410ae0, winds=0x7fb2b3741720, unwinds=0x7fb2b3741710, other_requests=0x7fb2b3741700) at write-behind.c:1865 #3 0x00007fb2b98d149c in wb_process_queue (frame=0x7fb2bd8132d8, file=0x1410ae0) at write-behind.c:2055 #4 0x00007fb2b98d1f6b in wb_writev (frame=0x7fb2be856448, this=0x135e480, fd=0x7fb2b804b220, vector=0x7fb2ac04acc8, count=1, offset=0, flags=36866, iobref=0x7fb2ac043e20) at write-behind.c:2177 #5 0x00007fb2b96bf050 in ra_writev (frame=0x7fb2be8511a4, this=0x135f620, fd=0x7fb2b804b220, vector=0x7fb2ac04acc8, count=1, offset=0, flags=36866, iobref=0x7fb2ac043e20) at read-ahead.c:688 #6 0x00007fb2b94ad3a3 in ioc_writev (frame=0x7fb2be8500d8, this=0x13606e0, fd=0x7fb2b804b220, vector=0x7fb2ac04acc8, count=1, offset=0, flags=36866, iobref=0x7fb2ac043e20) at io-cache.c:1275 #7 0x00007fb2b9293277 in qr_writev (frame=0x7fb2be8539f4, this=0x13617c0, fd=0x7fb2b804b220, vector=0x7fb2ac04acc8, count=1, off=0, wr_flags=36866, iobref=0x7fb2ac043e20) at quick-read.c:1470 #8 0x00007fb2b907f79c in io_stats_writev (frame=0x7fb2be856e5c, this=0x1362900, fd=0x7fb2b804b220, vector=0x7fb2ac04acc8, count=1, offset=0, flags=36866, iobref=0x7fb2ac043e20) at io-stats.c:2087 #9 0x00007fb2bd4c1737 in fuse_write_resume (state=0x7fb2ac04a5d0) at fuse-bridge.c:1999 #10 0x00007fb2bd4b5931 in fuse_resolve_done (state=0x7fb2ac04a5d0) at fuse-resolve.c:455 #11 0x00007fb2bd4b5a07 in fuse_resolve_all (state=0x7fb2ac04a5d0) at fuse-resolve.c:484 #12 0x00007fb2bd4b58fa in fuse_resolve (state=0x7fb2ac04a5d0) at fuse-resolve.c:441 #13 0x00007fb2bd4b59de in fuse_resolve_all (state=0x7fb2ac04a5d0) at fuse-resolve.c:480 #14 0x00007fb2bd4b5a81 in fuse_resolve_continue (state=0x7fb2ac04a5d0) at fuse-resolve.c:500 #15 0x00007fb2bd4b56a7 in fuse_resolve_fd (state=0x7fb2ac04a5d0) at fuse-resolve.c:349 #16 0x00007fb2bd4b5892 in fuse_resolve (state=0x7fb2ac04a5d0) at fuse-resolve.c:426
CHANGE: http://review.gluster.com/2795 (cluster/stripe: Readdirp should call lookup on entries) merged in master by Vijay Bellur (vijay)
Works fine on 3.3.0qa41