Re: [Bluez-devel] Oops involving RFCOMM and sysfs

Eric W. Biederman
2008-01-07T10:34:41Z

Al Viro <viro@ZenIV.linux.org.uk> writes:

> On Mon, Jan 07, 2008 at 06:18:21PM +0900, Tejun Heo wrote:
>> Tejun Heo wrote:
>> > Eric W. Biederman wrote:
>> >>> That said, the mechanism is a bit too fragile. sysfs currently ensures
>> >>> that dentry/inode point to the associated sysfs_dirent. This is mainly
>> >>> remanent of conversion from previous VFS based implementation. I think
>> >>> the right thing to do here is to make sysfs behave like other proper
>> >>> distributed filesystems using d_revalidate.
>> >> Huh? We still need something like sysfs_get_dentry to find the dentries
>> >> for the rename or move operation. So we can call d_move.
>> >
>> > Ah... right. Thanks. :-)
>>
>> On the second thought, can't those too be dealt with d_revalidate?
>
> FVO "dealt with" as pleasant and efficient as using coarse whetstone
> to deal with caries.

Or to say it another way. The linux VFS requires dentries to be
preserved and used as long as we can. dropping them early causes
some weird nasties to show up, in particular it totally messes up
mounting other filesystems on top.

Eric