From: J. Bruce Fields Make sure we get a directory when we look up the recovery directory. Thanks to Christoph Hellwig for the bug report. Based on feedback from Christoph and others, we may remove the need for this lookup and just pass in a file descriptor from userspace instead, and/or completely move the directory handling to userspace. For now we're just fixing the obvious bugs. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- fs/nfsd/nfs4recover.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN fs/nfsd/nfs4recover.c~nfsd4-recovery-lookup-dir-check fs/nfsd/nfs4recover.c --- devel/fs/nfsd/nfs4recover.c~nfsd4-recovery-lookup-dir-check 2006-01-12 19:54:17.000000000 -0800 +++ devel-akpm/fs/nfsd/nfs4recover.c 2006-01-12 19:54:17.000000000 -0800 @@ -399,9 +399,10 @@ nfsd4_init_recdir(char *rec_dirname) nfs4_save_user(&uid, &gid); - status = path_lookup(rec_dirname, LOOKUP_FOLLOW, &rec_dir); - if (status == -ENOENT) - printk("NFSD: recovery directory %s doesn't exist\n", + status = path_lookup(rec_dirname, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, + &rec_dir); + if (status) + printk("NFSD: unable to find recovery directory %s\n", rec_dirname); if (!status) _