summaryrefslogtreecommitdiffstats
path: root/tests/bugs/bug-908146.t
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2013-02-06 08:39:59 +0530
committerAnand Avati <avati@redhat.com>2013-02-06 09:50:51 -0800
commit242c12bf602acc3cdb4517cd1b6b06d5099fee0f (patch)
tree3f7c4817aee1501fa105a5023221fb9c7ea87747 /tests/bugs/bug-908146.t
parent2dbc9a53a1a8149f6a4fdcfd1be4a632f65d6e83 (diff)
tests: Test the open-fd count for a file on brick
Change-Id: I59bc4974eff93e92c4f7041d3722ac60e88b0734 BUG: 908146 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/4471 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'tests/bugs/bug-908146.t')
-rwxr-xr-xtests/bugs/bug-908146.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/bugs/bug-908146.t b/tests/bugs/bug-908146.t
new file mode 100755
index 00000000000..34ab49b2224
--- /dev/null
+++ b/tests/bugs/bug-908146.t
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. $(dirname $0)/../include.rc
+. $(dirname $0)/../volume.rc
+
+function get_fd_count {
+ local vol=$1
+ local host=$2
+ local brick=$3
+ local fname=$4
+ local gfid_str=$(gf_gfid_xattr_to_str $(gf_get_gfid_xattr $brick/$fname))
+ local statedump=$(generate_brick_statedump $vol $host $brick)
+ local count=$(grep "gfid=$gfid_str" $statedump -A2 | grep fd-count | cut -f2 -d'=' | tail -1)
+ rm -f $statedump
+ echo $count
+}
+cleanup;
+
+TEST glusterd
+TEST pidof glusterd
+TEST $CLI volume create $V0 $H0:$B0/${V0}0
+TEST $CLI volume start $V0
+TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 --direct-io-mode=enable
+TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M1 --attribute-timeout=0 --entry-timeout=0 --direct-io-mode=enable
+
+TEST touch $M0/a
+
+exec 4>"$M0/a"
+exec 5>"$M1/a"
+EXPECT "2" get_fd_count $V0 $H0 $B0/${V0}0 a
+
+exec 4>&-
+EXPECT "1" get_fd_count $V0 $H0 $B0/${V0}0 a
+
+exec 5>&-
+EXPECT "" get_fd_count $V0 $H0 $B0/${V0}0 a
+
+cleanup