Messages in this thread | | | Date | Tue, 25 Jan 2011 14:10:38 -0800 | Subject | Re: [PATCH 17/46] fs: Use rename lock and RCU for multi-step operations | From | Yehuda Sadeh Weinraub <> |
| |
On Wed, Jan 19, 2011 at 2:32 PM, Nick Piggin <npiggin@gmail.com> wrote: > On Thu, Jan 20, 2011 at 9:27 AM, Yehuda Sadeh Weinraub > <yehudasa@gmail.com> wrote: >> On Tue, Jan 18, 2011 at 2:42 PM, Nick Piggin <npiggin@gmail.com> 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?
Thanks, Yehuda
| |