Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "b=20989 Don't search for inode in nfs get_dentry"
[fs/lustre-release.git]
/
lustre
/
llite
/
llite_nfs.c
diff --git
a/lustre/llite/llite_nfs.c
b/lustre/llite/llite_nfs.c
index
36b60a7
..
c597df9
100644
(file)
--- a/
lustre/llite/llite_nfs.c
+++ b/
lustre/llite/llite_nfs.c
@@
-60,6
+60,12
@@
__u32 get_uuid2int(const char *name, int len)
return (key0 << 1);
}
return (key0 << 1);
}
+static int ll_nfs_test_inode(struct inode *inode, void *opaque)
+{
+ return lu_fid_eq(&ll_i2info(inode)->lli_fid,
+ (struct lu_fid *)opaque);
+}
+
static struct inode *search_inode_for_lustre(struct super_block *sb,
const struct lu_fid *fid)
{
static struct inode *search_inode_for_lustre(struct super_block *sb,
const struct lu_fid *fid)
{
@@
-74,6
+80,10
@@
static struct inode *search_inode_for_lustre(struct super_block *sb,
CDEBUG(D_INFO, "searching inode for:(%lu,"DFID")\n", ino, PFID(fid));
CDEBUG(D_INFO, "searching inode for:(%lu,"DFID")\n", ino, PFID(fid));
+ inode = ILOOKUP(sb, ino, ll_nfs_test_inode, fid);
+ if (inode)
+ RETURN(inode);
+
rc = ll_get_max_mdsize(sbi, &eadatalen);
if (rc)
RETURN(ERR_PTR(rc));
rc = ll_get_max_mdsize(sbi, &eadatalen);
if (rc)
RETURN(ERR_PTR(rc));