Messages in this thread | | | Subject | Re: [patch 03/15] cgroup: dont call vfs_mkdir | From | Miklos Szeredi <> | Date | Mon, 05 May 2008 14:32:22 +0200 |
| |
> > From: Miklos Szeredi <mszeredi@suse.cz> > > > > cgroup_clone() calls vfs_mkdir() to create a directory in the cgroup > > filesystem. Replace with explicit call to cgroup_mkdir() and > > fsnotify_mkdir(). > > > > This is equivalent, except that the following functions are not called > > before cgroup_mkdir(): > > > > - may_create() > > - security_inode_mkdir() > > - DQUOT_INIT() > > > > Permission to clone the cgroup has already been checked in > > copy_namespaces() (requiring CAP_SYS_ADMIN). Additional file system > > related capability checks are inappropriate and confusing. > > > > The quota check is unnecessary, as quotas don't make any sense for > > this filesystem. > > Looks correct but I don't think it's a good idea. Spreading more logic > into filesystems without a good reason is rarely a good idea.
(Thanks for the review, Christoph)
Agreed completely, but vfs_* aren't for filesystems to call, rather for entities calling _into_ filesystems from the outside. This is actually a very rare thing, so adding some extra logic for the sake of cleanliness should be OK.
Now it can be argued, that cgroup_clone() is calling into the filesystem from the outside. But it's not really doing that, rather it's making an internal modification to a specific filesystem, triggered by some external action.
Miklos
| |