X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fautofs4%2Froot.c;h=5100f984783faa123caabf76ad97e1718bdea70e;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=3d3590cc647db6afd968cec5104eb3db3953f0b7;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 3d3590cc6..5100f9847 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c @@ -137,9 +137,7 @@ static int autofs4_dir_open(struct inode *inode, struct file *file) nd.flags = LOOKUP_DIRECTORY; ret = (dentry->d_op->d_revalidate)(dentry, &nd); - if (ret <= 0) { - if (ret < 0) - status = ret; + if (!ret) { dcache_dir_close(inode, file); goto out; } @@ -402,23 +400,13 @@ static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd) struct autofs_sb_info *sbi = autofs4_sbi(dir->i_sb); int oz_mode = autofs4_oz_mode(sbi); int flags = nd ? nd->flags : 0; - int status; + int status = 0; /* Pending dentry */ if (autofs4_ispending(dentry)) { - /* The daemon never causes a mount to trigger */ - if (oz_mode) - return 1; - - /* - * A zero status is success otherwise we have a - * negative error code. - */ - status = try_to_fill_dentry(dentry, flags); - if (status == 0) - return 1; - - return status; + if (!oz_mode) + status = try_to_fill_dentry(dentry, flags); + return !status; } /* Negative dentry.. invalidate if "old" */ @@ -433,19 +421,9 @@ static int autofs4_revalidate(struct dentry *dentry, struct nameidata *nd) DPRINTK("dentry=%p %.*s, emptydir", dentry, dentry->d_name.len, dentry->d_name.name); spin_unlock(&dcache_lock); - /* The daemon never causes a mount to trigger */ - if (oz_mode) - return 1; - - /* - * A zero status is success otherwise we have a - * negative error code. - */ - status = try_to_fill_dentry(dentry, flags); - if (status == 0) - return 1; - - return status; + if (!oz_mode) + status = try_to_fill_dentry(dentry, flags); + return !status; } spin_unlock(&dcache_lock);