diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-19 11:17:30 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-19 11:17:30 -0700 |
commit | abaa72d7fd9a20a67b62e6afa0e746e27851dc33 (patch) | |
tree | ebe4134fcc93a6e205e6004b3e652d7a62281651 /fs/cifs/readdir.c | |
parent | 67da22d23fa6f3324e03bcd0580b914b2e4afbf3 (diff) | |
parent | 3e4b9459fb0e149c6b74c9e89399a8fc39a92b44 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index 0a8224d1c4c5..a4217f02fab2 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c @@ -86,9 +86,12 @@ cifs_readdir_lookup(struct dentry *parent, struct qstr *name, dentry = d_lookup(parent, name); if (dentry) { - /* FIXME: check for inode number changes? */ - if (dentry->d_inode != NULL) + inode = dentry->d_inode; + /* update inode in place if i_ino didn't change */ + if (inode && CIFS_I(inode)->uniqueid == fattr->cf_uniqueid) { + cifs_fattr_to_inode(inode, fattr); return dentry; + } d_drop(dentry); dput(dentry); } |