From 49bced40ab3628590b720bcf74dbe38f8abada38 Mon Sep 17 00:00:00 2001 From: James Simmons Date: Sat, 3 Aug 2019 15:25:33 -0400 Subject: [PATCH] LU-12137 osd-ldiskfs: shared common code for osd lookup For osd_lookup_one_len_unlocked() the only time we don't return the found dentry is if is_bad_inode() is true. The test for is_bad_inode() can only be run when d_inode is not NULL so we can move the d_inode test. The other change is the drop of the debug message which will just fill the logs with too much chatter so remove it. Change-Id: I82cf73ca842a45d906ffc21c9c5397a61c2679d8 Signed-off-by: James Simmons Reviewed-on: https://review.whamcloud.com/35581 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Hongchao Zhang Reviewed-by: Neil Brown Reviewed-by: Oleg Drokin --- lustre/osd-ldiskfs/osd_compat.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/lustre/osd-ldiskfs/osd_compat.c b/lustre/osd-ldiskfs/osd_compat.c index cab030a..fed4238 100644 --- a/lustre/osd-ldiskfs/osd_compat.c +++ b/lustre/osd-ldiskfs/osd_compat.c @@ -85,10 +85,10 @@ struct dentry *osd_lookup_one_len_unlocked(const char *name, dchild = lookup_one_len(name, base, len); inode_unlock(base->d_inode); - if (IS_ERR(dchild) || dchild->d_inode == NULL) + if (IS_ERR(dchild)) return dchild; - if (is_bad_inode(dchild->d_inode)) { + if (dchild->d_inode && unlikely(is_bad_inode(dchild->d_inode))) { CERROR("bad inode returned %lu/%u\n", dchild->d_inode->i_ino, dchild->d_inode->i_generation); dput(dchild); @@ -108,22 +108,7 @@ struct dentry *osd_lookup_one_len_unlocked(const char *name, struct dentry *osd_ios_lookup_one_len(const char *name, struct dentry *base, int len) { - struct dentry *dentry; - - dentry = osd_lookup_one_len_unlocked(name, base, len); - if (IS_ERR(dentry)) { - int rc = PTR_ERR(dentry); - - if (rc != -ENOENT) - CERROR("Fail to find %.*s in %.*s (%lu/%u): rc = %d\n", - len, name, base->d_name.len, - base->d_name.name, base->d_inode->i_ino, - base->d_inode->i_generation, rc); - - return dentry; - } - - return dentry; + return osd_lookup_one_len_unlocked(name, base, len); } /* utility to make a directory */ -- 1.8.3.1