[systemd-devel] [patch] cgroup fs: avoid switching ->d_op on live dentry
Nick Piggin
npiggin at gmail.com
Tue Dec 21 19:11:51 PST 2010
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.
More information about the systemd-devel
mailing list