From cabdb5633edaf7f997d422563d6b4d320db65cbd Mon Sep 17 00:00:00 2001 From: green Date: Tue, 1 Sep 2009 00:00:12 +0000 Subject: [PATCH] b=18534 r=adilger,shadow Reduce number of RPCs for mkdir/mknod calls by 1. --- lustre/llite/namei.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lustre/llite/namei.c b/lustre/llite/namei.c index acf6593..dda71e4 100644 --- a/lustre/llite/namei.c +++ b/lustre/llite/namei.c @@ -663,6 +663,12 @@ static struct dentry *ll_lookup_nd(struct inode *parent, struct dentry *dentry, it = ll_d2d(dentry)->lld_it; ll_d2d(dentry)->lld_it = NULL; } else { + if ((nd->flags & LOOKUP_CREATE ) && !(nd->flags & LOOKUP_OPEN)) { + /* We are sure this is new dentry, so we need to create + our private data and set the dentry ops */ + ll_dops_init(dentry, 1); + RETURN(NULL); + } it = ll_convert_intent(&nd->intent.open, nd->flags); if (IS_ERR(it)) RETURN((struct dentry *)it); -- 1.8.3.1