Whamcloud - gitweb
LU-787 clio: ftruncate shouldn't block when grouplock is hold
[fs/lustre-release.git] / lustre / tests / multiop.c
index b42bfb8..7e0dbfe 100755 (executable)
@@ -68,6 +68,8 @@ char usage[] =
 "        d  mkdir\n"
 "        D  open(O_DIRECTORY)\n"
 "        f  statfs\n"
+"        G gid get grouplock\n"
+"        g gid put grouplock\n"
 "        L  link\n"
 "        l  symlink\n"
 "        m  mknod\n"
@@ -194,6 +196,7 @@ int main(int argc, char **argv)
         int flags;
         int save_errno;
         int verbose = 0;
+        int gid = 0;
 
         if (argc < 3) {
                 fprintf(stderr, usage, argv[0]);
@@ -257,6 +260,22 @@ int main(int argc, char **argv)
                                 exit(save_errno);
                         }
                         break;
+                case 'G':
+                        gid = atoi(commands+1);
+                        if (ioctl(fd, LL_IOC_GROUP_LOCK, gid) == -1) {
+                                save_errno = errno;
+                                perror("ioctl(GROUP_LOCK)");
+                                exit(save_errno);
+                        }
+                        break;
+                case 'g':
+                        gid = atoi(commands+1);
+                        if (ioctl(fd, LL_IOC_GROUP_UNLOCK, gid) == -1) {
+                                save_errno = errno;
+                                perror("ioctl(GROUP_UNLOCK)");
+                                exit(save_errno);
+                        }
+                        break;
                 case 'l':
                         newfile = POP_ARG();
                         if (!newfile)