diff options
-rw-r--r-- | libglusterfs/src/call-stub.c | 1 | ||||
-rw-r--r-- | tests/bugs/bug-913544.t | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c index 7bf8613809f..bd81c4ed2fa 100644 --- a/libglusterfs/src/call-stub.c +++ b/libglusterfs/src/call-stub.c @@ -2487,6 +2487,7 @@ call_resume_unwind (call_stub_t *stub) case GF_FOP_FTRUNCATE: STUB_UNWIND (stub, ftruncate, &stub->args_cbk.prestat, &stub->args_cbk.poststat, stub->args_cbk.xdata); + break; case GF_FOP_FSTAT: STUB_UNWIND (stub, fstat, &stub->args_cbk.stat, stub->args_cbk.xdata); diff --git a/tests/bugs/bug-913544.t b/tests/bugs/bug-913544.t new file mode 100644 index 00000000000..790bc08980f --- /dev/null +++ b/tests/bugs/bug-913544.t @@ -0,0 +1,24 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +#simulate a split-brain of a file and do truncate. This should not crash the mount point +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}0 $H0:$B0/${V0}1 +TEST $CLI volume set $V0 stat-prefetch off +TEST $CLI volume start $V0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 +cd $M0 +TEST touch a +#simulate no-changelog data split-brain +echo "abc" > $B0/${V0}1/a +echo "abcd" > $B0/${V0}0/a +TEST ! truncate -s 0 a +TEST ls +cd + +cleanup |