Whamcloud - gitweb
b=18534
authorgreen <green>
Tue, 1 Sep 2009 00:00:12 +0000 (00:00 +0000)
committergreen <green>
Tue, 1 Sep 2009 00:00:12 +0000 (00:00 +0000)
r=adilger,shadow

Reduce number of RPCs for mkdir/mknod calls by 1.

lustre/llite/namei.c

index acf6593..dda71e4 100644 (file)
@@ -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);