summaryrefslogtreecommitdiffstats
path: root/tests/basic/gfapi/glfs_h_creat_open.t
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2019-09-18 16:32:08 +0530
committerSoumya Koduri <skoduri@redhat.com>2019-09-26 20:21:19 +0530
commite3942babf00fe74dd3c3fc8502482967fbdb9ca5 (patch)
tree92c9406f5aaaa31c844bc49503cb220808f8024f /tests/basic/gfapi/glfs_h_creat_open.t
parent6b3fec37931cbf3f7995b119e5a14702d5226772 (diff)
gfapi: 'glfs_h_creat_open' - new API to create handle and open fd
Right now we have two separate APIs, one - 'glfs_h_creat_handle' to create handle & another - 'glfs_h_open' to create a glfd to return to application Having two separate routines can result in access errors while trying to create and write into a read-only file. Since a fd is opened even during file/directory creation, introducing a new API to make these two operations atomic i.e, which can create both handle & fd and pass them to application This is backport of below mainline patch - - https://review.gluster.org/#/c/glusterfs/+/23448/ - bz#1753569 release-6: - https://review.gluster.org/#/c/glusterfs/+/23491/ Change-Id: Ibf513fcfcdad175f4d7eb6fa7a61b8feec6d33b5 fixes: bz#1756002 Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Diffstat (limited to 'tests/basic/gfapi/glfs_h_creat_open.t')
-rwxr-xr-xtests/basic/gfapi/glfs_h_creat_open.t27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/basic/gfapi/glfs_h_creat_open.t b/tests/basic/gfapi/glfs_h_creat_open.t
new file mode 100755
index 00000000000..f24ae7395be
--- /dev/null
+++ b/tests/basic/gfapi/glfs_h_creat_open.t
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+. $(dirname $0)/../../volume.rc
+
+cleanup;
+
+TEST glusterd
+
+TEST $CLI volume create $V0 $H0:$B0/brick1;
+EXPECT 'Created' volinfo_field $V0 'Status';
+
+TEST $CLI volume start $V0;
+EXPECT 'Started' volinfo_field $V0 'Status';
+
+logdir=`gluster --print-logdir`
+
+TEST build_tester $(dirname $0)/glfs_h_creat_open.c -lgfapi
+
+TEST ./$(dirname $0)/glfs_h_creat_open $H0 $V0 $logdir/glfs.log
+
+cleanup_tester $(dirname $0)/glfs_h_creat_open
+
+TEST $CLI volume stop $V0
+TEST $CLI volume delete $V0
+
+cleanup;