fs: rcu-walk aware d_revalidate method
Require filesystems be aware of .d_revalidate being called in rcu-walk mode (nd->flags & LOOKUP_RCU). For now do a simple push down, returning -ECHILD from all implementations. Signed-off-by: Nick Piggin <npiggin@kernel.dk>
This commit is contained in:
@@ -315,12 +315,19 @@ out_error:
|
||||
*/
|
||||
static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
{
|
||||
struct inode *dir = dentry->d_parent->d_inode;
|
||||
struct autofs_sb_info *sbi = autofs4_sbi(dir->i_sb);
|
||||
int oz_mode = autofs4_oz_mode(sbi);
|
||||
struct inode *dir;
|
||||
struct autofs_sb_info *sbi;
|
||||
int oz_mode;
|
||||
int flags = nd ? nd->flags : 0;
|
||||
int status = 1;
|
||||
|
||||
if (flags & LOOKUP_RCU)
|
||||
return -ECHILD;
|
||||
|
||||
dir = dentry->d_parent->d_inode;
|
||||
sbi = autofs4_sbi(dir->i_sb);
|
||||
oz_mode = autofs4_oz_mode(sbi);
|
||||
|
||||
/* Pending dentry */
|
||||
spin_lock(&sbi->fs_lock);
|
||||
if (autofs4_ispending(dentry)) {
|
||||
|
Reference in New Issue
Block a user