return 0; 
/* * If the directory still exists the mount request must * continue otherwise it can't be followed at the right * time during the walk. */ status = d_invalidate(dentry); if (status != -EBUSY) return 0; 
static int try_to_fill_dentry(struct dentry *dentry, 			      struct super_block *sb,			      struct autofs_sb_info *sbi, int flags){	struct autofs_info *de_info = autofs4_dentry_ino(dentry);	int status = 0;	/* Block on any pending expiry here; invalidate the dentry           when expiration is done to trigger mount request with a new           dentry */	if (de_info && (de_info->flags & AUTOFS_INF_EXPIRING)) {		DPRINTK("waiting for expire %p name=%.*s",			 dentry, dentry->d_name.len, dentry->d_name.name);		status = autofs4_wait(sbi, dentry, NFY_NONE);				DPRINTK("expire done status=%d", status);				return 0;	}	DPRINTK("dentry=%p %.*s ino=%p",		 dentry, dentry->d_name.len, dentry->d_name.name, dentry->d_inode);	/* Wait for a pending mount, triggering one if there isn't one already */	if (dentry->d_inode == NULL) {		DPRINTK("waiting for mount name=%.*s",			 dentry->d_name.len, dentry->d_name.name);		status = autofs4_wait(sbi, dentry, NFY_MOUNT);		 		DPRINTK("mount done status=%d", status);		if (status && dentry->d_inode)			return 0; /* Try to get the kernel to invalidate this dentry */				/* Turn this into a real negative dentry? */		if (status == -ENOENT) {			dentry->d_time = jiffies + AUTOFS_NEGATIVE_TIMEOUT;			spin_lock(&dentry->d_lock);			dentry->d_flags &= ~DCACHE_AUTOFS_PENDING;			spin_unlock(&dentry->d_lock);			return 1;		} else if (status) {			/* Return a negative dentry, but leave it "pending" */			return 1;		}	/* Trigger mount for path component or follow link */	} else if (flags & (LOOKUP_CONTINUE | LOOKUP_DIRECTORY) ||			current->link_count) {		DPRINTK("waiting for mount name=%.*s",			dentry->d_name.len, dentry->d_name.name);		spin_lock(&dentry->d_lock);		dentry->d_flags |= DCACHE_AUTOFS_PENDING;		spin_unlock(&dentry->d_lock);		status = autofs4_wait(sbi, dentry, NFY_MOUNT);		DPRINTK("mount done status=%d", status);		if (status) {			spin_lock(&dentry->d_lock);			dentry->d_flags &= ~DCACHE_AUTOFS_PENDING;			spin_unlock(&dentry->d_lock);			return 0;		}	}	/* We don't update the usages for the autofs daemon itself, this	   is necessary for recursive autofs mounts */	if (!autofs4_oz_mode(sbi))		autofs4_update_usage(dentry);	spin_lock(&dentry->d_lock);	dentry->d_flags &= ~DCACHE_AUTOFS_PENDING;	spin_unlock(&dentry->d_lock);	return 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1684b2bba6972749bc9acee57585acd6c78050b2/root.c/clean/fs/autofs4/root.c