NFS does not support mandaroty locking.

Signed-off-by: Xiong Zhou <xz...@redhat.com>
---
 testcases/kernel/syscalls/fcntl/fcntl14.c | 53 ++++++++++++++++---------------
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/testcases/kernel/syscalls/fcntl/fcntl14.c 
b/testcases/kernel/syscalls/fcntl/fcntl14.c
index 9db88e8..e1ae565 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl14.c
+++ b/testcases/kernel/syscalls/fcntl/fcntl14.c
@@ -546,6 +546,7 @@ void catch_alarm(int sig);
 
 char *TCID = "fcntl14";
 int TST_TOTAL = 1;
+int NO_NFS = 1;
 
 #ifdef UCLINUX
 static char *argv0;            /* Set by main(), passed to self_exec() */
@@ -1000,10 +1001,9 @@ int main(int ac, char **av)
 
        setup();                /* global setup */
 
-       if (tst_fs_type(cleanup, ".") == TST_NFS_MAGIC) {
-               tst_brkm(TCONF, cleanup,
-                        "Cannot do fcntl on a file on NFS filesystem");
-       }
+       /* Check if test on NFS or not*/
+       if (tst_fs_type(cleanup, ".") == TST_NFS_MAGIC)
+               NO_NFS = 0;
 
        /* Check for looping state if -i option is given */
        for (lc = 0; TEST_LOOPING(lc); lc++) {
@@ -1027,30 +1027,31 @@ int main(int ac, char **av)
                tst_resm(TINFO, "Exit block 1");
 
 /* //block2: */
-               tst_resm(TINFO, "Enter block 2: with mandatory locking");
-               fail = 0;
                /*
-                * Try various locks on a file with mandatory record locking
-                * this should behave the same as an ordinary file
+                * Skip block2 if test on NFS, since NFS does not support
+                * mandatory locking
                 */
-               (void)run_test(O_CREAT | O_RDWR | O_TRUNC, S_ENFMT | S_IRUSR |
-                              S_IWUSR, 0, 0, 36);
-               if (fail) {
-                       tst_resm(TFAIL, "Block 2, test 1 FAILED");
-               } else {
-                       tst_resm(TPASS, "Block 2, test 1 PASSED");
-               }
-
-               /* Now try negative values for L_start and L_len */
-               (void)run_test(O_CREAT | O_RDWR | O_TRUNC, S_ENFMT | S_IRUSR |
-                              S_IWUSR, 5, 36, 45);
-               if (fail) {
-                       tst_resm(TFAIL, "Block 2, test 2 FAILED");
-               } else {
-                       tst_resm(TPASS, "Block 2, test 2 PASSED");
-               }
-
-               tst_resm(TINFO, "Exit block 2");
+               if (NO_NFS) {
+                       tst_resm(TINFO, "Enter block 2: with"
+                                       " mandatory locking");
+                       fail = 0;
+                       /*
+                        * Try various locks on a file with mandatory
+                        * record locking this should behave the same
+                        * as an ordinary file
+                        */
+                       (void)run_test(O_CREAT | O_RDWR | O_TRUNC,
+                               S_ENFMT | S_IRUSR | S_IWUSR, 0, 0, 36);
+                       testcheck_end(fail, "Block 2, test 1");
+
+                       /* Now try negative values for L_start and L_len */
+                       (void)run_test(O_CREAT | O_RDWR | O_TRUNC,
+                               S_ENFMT | S_IRUSR | S_IWUSR, 5, 36, 45);
+                       testcheck_end(fail, "Block 2, test 2");
+
+                       tst_resm(TINFO, "Exit block 2");
+               } else
+                       tst_resm(TINFO, "Skip block 2 on NFS");
 
 /* //block3: */
                tst_resm(TINFO, "Enter block 3");
-- 
1.8.3.1


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to