bug-hurd
[Top][All Lists]
Advanced

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

[PATCH] libdiskfs: fix deadlock


From: Justus Winter
Subject: [PATCH] libdiskfs: fix deadlock
Date: Sun, 22 Jun 2014 15:45:42 +0200

Previously, libdiskfs would deadlock on contention on renamedirlock
due to the lock being taken spuriously.

Found using fsstress from the Linux Test Project.

* libdiskfs/dir-rename.c (diskfs_S_dir_rename): Remove spurious
pthread_mutex_lock.
---
 libdiskfs/dir-rename.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c
index ff9dead..9ac4839 100644
--- a/libdiskfs/dir-rename.c
+++ b/libdiskfs/dir-rename.c
@@ -77,7 +77,6 @@ diskfs_S_dir_rename (struct protid *fromcred,
       if (pthread_mutex_trylock (&renamedirlock))
        {
          diskfs_nrele (fnp);
-         pthread_mutex_lock (&renamedirlock);
          goto try_again;
        }
       err = diskfs_rename_dir (fdp, fnp, fromname, tdp, toname, fromcred,
-- 
2.0.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]