Re: [PATCH 17/46] fs: Use rename lock and RCU for multi-step operations

From: Yehuda Sadeh Weinraub
Date: Mon Feb 14 2011 - 12:57:14 EST


On Wed, Jan 26, 2011 at 9:18 PM, Nick Piggin <npiggin@xxxxxxxxx> wrote:
> On Wed, Jan 26, 2011 at 9:10 AM, Yehuda Sadeh Weinraub
> <yehudasa@xxxxxxxxx> wrote:
>> On Wed, Jan 19, 2011 at 2:32 PM, Nick Piggin <npiggin@xxxxxxxxx> wrote:
>>> On Thu, Jan 20, 2011 at 9:27 AM, Yehuda Sadeh Weinraub
>>> <yehudasa@xxxxxxxxx> wrote:
>>>> On Tue, Jan 18, 2011 at 2:42 PM, Nick Piggin <npiggin@xxxxxxxxx> wrote:
>>>>> On Wed, Jan 19, 2011 at 9:32 AM, Yehuda Sadeh Weinraub
>>>>
>>>>>> There's an issue with ceph as it references the
>>>>>> dentry->d_parent(->d_inode) at dentry_release(), so setting
>>>>>> dentry->d_parent to NULL here doesn't work with ceph. Though there is
>>>>>> some workaround for it, we would like to be sure that this one is
>>>>>> really required so that we don't exacerbate the ugliness. The
>>>>>> workaround is to keep a pointer to the parent inode in the private
>>>>>> dentry structure, which will be referenced only at the .release()
>>>>>> callback. This is clearly not ideal.
>>>>>
>>>>> Hmm, I'll have to think about it. Probably we can check for
>>>>> d_count == 0 rather than parent != NULL I think?
>>>>>
>>>>
>>>> That'll solve ceph's problem, don't know about how'd affect other
>>>> stuff. We'll need to know whether this is the solution, or whether
>>>> we'd need to introduce some other band aid fix.
>>>
>>> No I think it will work fine. Basically we just need to know whether
>>> we have been deleted, and if so then we restart rather than walking
>>> back up the parent.
>>>
>>> I'll send a patch in a few days. For the meantime, it's a rathe
>>> small window for ceph to worry about. So we'll have something
>>> before -rc2 which should be OK.
>>>
>>
>> I guess that it's a bit late for -rc2, should we assume that it'll be on -rc3?
>
> Yeah, I'm sorry I've been travelling and a bit disconnected.
>
> NFS folk are having a similar problem and looks like similar
> proposed fix will do it.
>
> http://marc.info/?l=linux-fsdevel&m=129599823927039&w=2
>
> So I think it is the best way to go to restore behaviour back to what
> filesystems already expect, to avoid more surprises in future.
>

Hi Nick,
-rc4 is out and that issue is still broken. Do you have that patch
ready or should we push our workaround?

Thanks,
Yehuda
--
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/