 while (d_mountpoint(dentry) && follow_down(&mnt, &dentry)) ; 
static int autofs4_check_mount(struct vfsmount *mnt, struct dentry *dentry){	int status = 0;	DPRINTK("dentry %p %.*s",		dentry, (int)dentry->d_name.len, dentry->d_name.name);	mntget(mnt);	dget(dentry);	if (!follow_down(&mnt, &dentry))		goto done;	while (d_mountpoint(dentry) && follow_down(&mnt, &dentry))		;	/* This is an autofs submount, we can't expire it */	if (is_autofs4_dentry(dentry))		goto done;	/* The big question */	if (may_umount_tree(mnt) == 0)		status = 1;done:	DPRINTK("returning = %d", status);	mntput(mnt);	dput(dentry);	return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9b1e3afd6d56937ced3914971621d0f053ea9178/expire.c/clean/fs/autofs4/expire.c