autofs4: use autofs_info for pending flag
Eliminate the use of the d_lock spin lock by using the autofs super block info spin lock. This reduces the number of spin locks we use by one and makes the code for the following patch (to redirect ->d_revalidate() to ->lookup()) a little simpler. Signed-off-by: Ian Kent <raven@themaw.net> Cc: Sage Weil <sage@newdream.net> Cc: Al Viro <viro@ZenIV.linux.org.uk> Cc: Andreas Dilger <adilger@sun.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Yehuda Saheh <yehuda@newdream.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@ -97,6 +97,7 @@ struct autofs_info {
|
||||
|
||||
#define AUTOFS_INF_EXPIRING (1<<0) /* dentry is in the process of expiring */
|
||||
#define AUTOFS_INF_MOUNTPOINT (1<<1) /* mountpoint status for direct expire */
|
||||
#define AUTOFS_INF_PENDING (1<<2) /* dentry pending mount */
|
||||
|
||||
struct autofs_wait_queue {
|
||||
wait_queue_head_t queue;
|
||||
@ -163,7 +164,7 @@ static inline int autofs4_ispending(struct dentry *dentry)
|
||||
{
|
||||
struct autofs_info *inf = autofs4_dentry_ino(dentry);
|
||||
|
||||
if (dentry->d_flags & DCACHE_AUTOFS_PENDING)
|
||||
if (inf->flags & AUTOFS_INF_PENDING)
|
||||
return 1;
|
||||
|
||||
if (inf->flags & AUTOFS_INF_EXPIRING)
|
||||
|
Reference in New Issue
Block a user