diff options
author | Mark Brown <broonie@linaro.org> | 2013-08-22 11:09:03 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-08-22 11:09:03 +0100 |
commit | 64393c6e647c8a791243063d282c787b46721be7 (patch) | |
tree | 89ca12bd5d52e8df24d2bc13a36d30479a4e825d /fs/cifs/readdir.c | |
parent | a2388a498ad2f85be01aca29e364abf427d9b53c (diff) | |
parent | 741a509f34d8d702f70d0ad99b8152c57d76961e (diff) |
Merge remote-tracking branch 'asoc/topic/ac97' into asoc-fsl
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index ab8778469394..69d2c826a23b 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c @@ -111,6 +111,14 @@ cifs_prime_dcache(struct dentry *parent, struct qstr *name, return; } + /* + * If we know that the inode will need to be revalidated immediately, + * then don't create a new dentry for it. We'll end up doing an on + * the wire call either way and this spares us an invalidation. + */ + if (fattr->cf_flags & CIFS_FATTR_NEED_REVAL) + return; + dentry = d_alloc(parent, name); if (!dentry) return; |