mirror of
https://github.com/torvalds/linux.git
synced 2024-09-27 18:33:15 +00:00
Have nfs ->d_revalidate() report errors properly
If nfs atomic open implementation ends up doing open request from ->d_revalidate() codepath and gets an error from server, return that error to caller explicitly and don't bother with lookup_instantiate_filp() at all. ->d_revalidate() can return an error itself just fine... See http://bugzilla.kernel.org/show_bug.cgi?id=15674 http://marc.info/?l=linux-kernel&m=126988782722711&w=2 for original report. Reported-by: Daniel J Blueman <daniel.blueman@gmail.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
48de8cb784
commit
04287f975e
|
@ -2068,8 +2068,7 @@ nfs4_open_revalidate(struct inode *dir, struct dentry *dentry, int openflags, st
|
||||||
case -EDQUOT:
|
case -EDQUOT:
|
||||||
case -ENOSPC:
|
case -ENOSPC:
|
||||||
case -EROFS:
|
case -EROFS:
|
||||||
lookup_instantiate_filp(nd, (struct dentry *)state, NULL);
|
return PTR_ERR(state);
|
||||||
return 1;
|
|
||||||
default:
|
default:
|
||||||
goto out_drop;
|
goto out_drop;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user