On Fri, Apr 06, 2007 at 04:32:24PM -0700, menage@xxxxxxxxxx wrote: > -static int container_create_dir(struct container *cont, const char *name, int mode) > +static int container_create_dir(struct container *cont, struct dentry *dentry, > + int mode) > { > - struct dentry *dentry = NULL; > struct dentry *parent; > int error = 0; > > parent = cont->parent->dentry; > - dentry = container_get_dentry(parent, name); If you removed this line, then: > if (IS_ERR(dentry)) > return PTR_ERR(dentry); > - error = container_create_file(dentry, S_IFDIR | mode); > + error = container_create_file(dentry, S_IFDIR | mode, cont->root->sb); > if (!error) { > dentry->d_fsdata = cont; > - parent->d_inode->i_nlink++; > + inc_nlink(parent->d_inode); > cont->dentry = dentry; > } > dput(dentry); We should remove this dput as well, otherwise we will be short of required reference count on dentry by 1? Basically, when user does: # cd /dev/container # mkdir a and mkdir returns, what should be the (min) ref count of a's dentry? From my understanding it should be total number of files under a + 1. The dput above will cause this reqd count to be short by 1 .. -- Regards, vatsa _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers