* - autofs4-dont-make-expiring-dentry-negative-fix.patch removed from -mm tree
@ 2008-07-23 23:32 akpm
0 siblings, 0 replies; only message in thread
From: akpm @ 2008-07-23 23:32 UTC (permalink / raw)
To: raven, mm-commits
The patch titled
autofs4: don't make expiring dentry negative fix
has been removed from the -mm tree. Its filename was
autofs4-dont-make-expiring-dentry-negative-fix.patch
This patch was dropped because it was folded into autofs4-dont-make-expiring-dentry-negative.patch
The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
------------------------------------------------------
Subject: autofs4: don't make expiring dentry negative fix
From: Ian Kent <raven@themaw.net>
The correction to not make a dentry negative has an error. Currently
->lookup() checks if an expire is in progress and removes the entry from
the list, before the expire is complete so if more than one process is
performing a lookup at this time only one will wait for expire completion.
We need to not remove the list entry until after waiting for expire
completion.
Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/autofs4/root.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff -puN fs/autofs4/root.c~autofs4-dont-make-expiring-dentry-negative-fix fs/autofs4/root.c
--- a/fs/autofs4/root.c~autofs4-dont-make-expiring-dentry-negative-fix
+++ a/fs/autofs4/root.c
@@ -555,7 +555,6 @@ static struct dentry *autofs4_lookup_exp
goto next;
if (d_unhashed(dentry)) {
- list_del_init(&ino->expiring);
dget(dentry);
spin_unlock(&dentry->d_lock);
spin_unlock(&sbi->lookup_lock);
@@ -606,6 +605,10 @@ static struct dentry *autofs4_lookup(str
autofs4_wait(sbi, expiring, NFY_NONE);
DPRINTK("request completed");
}
+ spin_lock(&sbi->lookup_lock);
+ if (!list_empty(&ino->expiring))
+ list_del_init(&ino->expiring);
+ spin_unlock(&sbi->lookup_lock);
dput(expiring);
}
_
Patches currently in -mm which might be from raven@themaw.net are
autofs4-dont-make-expiring-dentry-negative.patch
autofs4-dont-make-expiring-dentry-negative-fix.patch
autofs4-revert-redo-lookup-in-ttfd.patch
autofs4-use-look-aside-list-for-lookups.patch
autofs4-use-look-aside-list-for-lookups-autofs4-fix-symlink-name-allocation.patch
autofs4-dont-release-directory-mutex-if-called-in-oz_mode.patch
autofs4-use-lookup-intent-flags-to-trigger-mounts.patch
autofs4-use-lookup-intent-flags-to-trigger-mounts-fix.patch
autofs4-use-struct-qstr-in-waitqc.patch
autofs4-fix-waitq-locking.patch
autofs4-fix-pending-mount-race.patch
autofs4-fix-pending-mount-race-fix.patch
autofs4-check-kernel-communication-pipe-is-valid-for-write.patch
autofs4-fix-waitq-memory-leak.patch
autofs4-detect-invalid-direct-mount-requests.patch
autofs4-indirect-dentry-must-almost-always-be-positive.patch
autofs4-cleanup-redundant-readir-code.patch
autofs4-fix-pending-checks.patch
autofs4-fix-indirect-mount-pending-expire-race.patch
autofs4-fix-direct-mount-pending-expire-race.patch
autofs4-fix-direct-mount-pending-expire-race-correction.patch
autofs4-reorganize-expire-pending-wait-function-calls.patch
autofs4-remove-unused-ioctls.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-07-23 23:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-23 23:32 - autofs4-dont-make-expiring-dentry-negative-fix.patch removed from -mm tree akpm
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.