From beeaa074611433d6c650823624569f90025160d3 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Mon, 27 Jun 2016 14:56:04 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/14817 NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Smoke: Gluster Build System Reviewed-by: Jeff Darcy --- tests/bugs/glusterd/bug-824753-file-locker.c | 46 ++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests/bugs/glusterd/bug-824753-file-locker.c (limited to 'tests/bugs/glusterd/bug-824753-file-locker.c') 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 +#include +#include +#include +#include +#include + + +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; +} -- cgit