Messages in this thread | | | Date | Tue, 10 Apr 2007 20:12:08 +0530 | From | Srivatsa Vaddagiri <> | Subject | Re: [PATCH 3/7] Containers (V8): Add generic multi-subsystem API to containers |
| |
On Fri, Apr 06, 2007 at 04:32:24PM -0700, menage@google.com 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |