[PATCH] generic/478: should wait until dup success or fail

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



When test on nfs, maybe failed as below:
  wait sem0 0: Resource temporarily unavailable
  set sem0 0: Invalid argument
  exit rmid: Invalid argument

It means getlk routine wait sem0 timeout, because the setlk routine
maybe take too long time on ‘fcntl’ or 'dup'.

So, let wait on sem0 in getlk routine until the setlk routine success
or fail.

Signed-off-by: ZhangXiaoxu <zhangxiaoxu5@xxxxxxxxxx>
---
 src/t_ofd_locks.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/t_ofd_locks.c b/src/t_ofd_locks.c
index e3b15dd..32e90c0 100644
--- a/src/t_ofd_locks.c
+++ b/src/t_ofd_locks.c
@@ -414,9 +414,7 @@ int main(int argc, char **argv)
 		sop.sem_num = 0;
 		sop.sem_op = 0;
 		sop.sem_flg = 0;
-		ts.tv_sec = 5;
-		ts.tv_nsec = 0;
-		if (semtimedop(semid, &sop, 1, &ts) == -1)
+		if (semtimedop(semid, &sop, 1, NULL) == -1)
 			err_exit("wait sem0 0", errno);
 
 		if (fcntl(fd, getlk_macro, &flk) < 0)
-- 
2.7.4




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux