From: green Date: Tue, 1 Sep 2009 00:01:05 +0000 (+0000) Subject: b=18534 X-Git-Tag: v1_8_2_01~1^2~149 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=e77e8414d5d84087557f9235ab2d0402307ecf13;p=fs%2Flustre-release.git b=18534 r=adilger,shadow Reduce number of RPCs for mkdir/mknod by 1. --- diff --git a/lustre/llite/namei.c b/lustre/llite/namei.c index 8730f1f..d88ae6c 100644 --- a/lustre/llite/namei.c +++ b/lustre/llite/namei.c @@ -687,6 +687,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);