aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/dcache.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index d20dc2b700c..63c0c6b9b82 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1054,6 +1054,8 @@ positive:
return 1;
rename_retry:
+ if (locked)
+ goto again;
locked = 1;
write_seqlock(&rename_lock);
goto again;
@@ -1156,6 +1158,8 @@ out:
rename_retry:
if (found)
return found;
+ if (locked)
+ goto again;
locked = 1;
write_seqlock(&rename_lock);
goto again;
@@ -2922,6 +2926,8 @@ resume:
return;
rename_retry:
+ if (locked)
+ goto again;
locked = 1;
write_seqlock(&rename_lock);
goto again;