[systemd-devel] [patch] cgroup fs: avoid switching ->d_op on live dentry

Sedat Dilek sedat.dilek at googlemail.com
Tue Dec 21 19:31:31 PST 2010


On Wed, Dec 22, 2010 at 4:11 AM, Nick Piggin <npiggin at gmail.com> wrote:
> On Wed, Dec 22, 2010 at 5:25 AM, Al Viro <viro at zeniv.linux.org.uk> wrote:
>> On Tue, Dec 21, 2010 at 07:55:38PM +1100, Nick Piggin wrote:
>>> On Tue, Dec 21, 2010 at 09:44:40AM +0100, Sedat Dilek wrote:
>>> > Against linux-next (next-20101210) it should look like:
>>>
>>> Yep, I'll rebase my tree with the fix shortly.
>>>
>>> >
>>> > $ diff -Naur cgroup-fix/cgroup-fs-avoid-switching-d_op-on-live-dentry.patch
>>> > cgroup-fix/cgroup-fs-avoid-switching-d_op-on-live-dentry-v2.patch
>>> > --- cgroup-fix/cgroup-fs-avoid-switching-d_op-on-live-dentry.patch
>>> >  2010-12-21 09:31:38.649601964 +0100
>>> > +++ cgroup-fix/cgroup-fs-avoid-switching-d_op-on-live-dentry-v2.patch
>>> >  2010-12-21 09:40:21.151033232 +0100
>>> > @@ -83,7 +83,7 @@
>>> >                 inode->i_size = 0;
>>> >                 inode->i_fop = &cgroup_file_operations;
>>> >         }
>>> > --      dentry->d_op = &cgroup_dops;
>>> > +-      d_set_d_op(dentry, &cgroup_dops);
>>> >         d_instantiate(dentry, inode);
>>> >         dget(dentry);   /* Extra count - pin the dentry in core */
>>> >         return 0;
>>
>> How about not doing that d_set_d_op() at all?  See #d_op in vfs-2.6.git;
>> just set ->s_d_op to that once and be done with that.  No need to reassign
>> it on a live dentry...
>
> It shouldn't be live there after my patch, but either way it is fixed,
> doesn't matter. Your s_d_op patch allows more reuse of code, so
> that looks nicer.
>

Hi Nick, Hi Al,

IIRC that vfs-2.6.git#d_op is not in linux-next?
[2] uses "vfs             git
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git#for-next"?
Will this tree go into 2.6.38?
I tried to pull that tree into linux-next which resulted into many CONFLICTs.

As far as I have understood:
To use s_d_op for kernel/cgroup.c at least means to cherry-pick
"per-superblock default ->d_op" commit [2]?

If Al's tree is expected to be in 2.6.38, it would be good that both
vfs-related trees "vfs-2.6#d_op" and "vfs-scale-working" would be
coordinated.

Can you give details on the plans for 2.6.38 (for linux-next)?
Thanks.

- Sedat -

[1] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=blob;f=Next/Trees#l84
[2] http://git.kernel.org/?p=linux/kernel/git/viro/vfs-2.6.git;a=commit;h=ee2d6af5897a21441f1ded8c3551da073cbcda87


More information about the systemd-devel mailing list