summaryrefslogtreecommitdiffstats
path: root/tests/bugs/glusterd/bug-824753-file-locker.c
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2016-06-27 14:56:04 +0530
committerJeff Darcy <jdarcy@redhat.com>2016-07-18 05:05:58 -0700
commitbeeaa074611433d6c650823624569f90025160d3 (patch)
tree43f34cf625f2a2ece55cfecda8864f4dafb364c3 /tests/bugs/glusterd/bug-824753-file-locker.c
parent713d7d080df51bf19ce29cf5d682bc006e1c3a19 (diff)
Revert "tests: remove tests for clear-locks"
This reverts commit 0086a55bb7de1ef5dc7a24583f5fc2b560e835fd. As part of Richard's patch for lock-revocation feature this bug is completely fixed (I think at least ;-) ). So bringing these back so that we will find out if there are anymore things we need to address in this code path. BUG: 1350867 Change-Id: If1440fc83b376576ae1a77b1156188a6bf53fe3a Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/14817 NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'tests/bugs/glusterd/bug-824753-file-locker.c')
-rw-r--r--tests/bugs/glusterd/bug-824753-file-locker.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/bugs/glusterd/bug-824753-file-locker.c b/tests/bugs/glusterd/bug-824753-file-locker.c
new file mode 100644
index 00000000000..915161b626b
--- /dev/null
+++ b/tests/bugs/glusterd/bug-824753-file-locker.c
@@ -0,0 +1,46 @@
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+
+int main (int argc, char *argv[])
+{
+ int fd = -1;
+ int ret = -1;
+ char command[2048] = "";
+ char filepath[255] = "";
+ struct flock fl;
+
+ fl.l_type = F_WRLCK;
+ fl.l_whence = SEEK_SET;
+ fl.l_start = 7;
+ fl.l_len = 1;
+ fl.l_pid = getpid();
+
+ snprintf(filepath, 255, "%s/%s", argv[4], argv[5]);
+
+ fd = open(filepath, O_RDWR);
+
+ if (fd == -1)
+ return -1;
+
+ if (fcntl(fd, F_SETLKW, &fl) == -1) {
+ return -1;
+ }
+
+ snprintf(command, sizeof(command),
+ "gluster volume clear-locks %s /%s kind all posix 0,7-1 |"
+ " grep %s | awk -F'..: ' '{print $1}' | grep %s:%s/%s",
+ argv[1], argv[5], argv[2], argv[2], argv[3], argv[1]);
+
+ ret = system (command);
+ close(fd);
+
+ if (ret)
+ return -1;
+ else
+ return 0;
+}