Re: [patch 03/15] cgroup: dont call vfs_mkdir

From: Miklos Szeredi
Date: Mon May 05 2008 - 09:30:00 EST


> > > 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.
>
> I don't think that matters. We're not about overly strict layering, and
> especialy this kind where you call into a higher layer to get back into
> the lower one is not harmful at all. For cgroup it's only a small
> duplication, but e.g. I don't really like all the duplications in the
> reiserfs case.

I think there's some good reasons, other than just to get rid of the
vfs recursion. I took this change from Jeff Mahoney's patchset.

> Unless we have a very good reason why the useage of the
> vfs_ function should go away from the filesystem code I don't think
> we want this.

We do have a good reason: r/o bind mounts and AppArmor. And please
don't tell me, you also think that moving the security hooks to
callers is a good idea ;) That would actually be a change with a much
larger impact, both in terms of code duplication and of verifying
correctness.

Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/