Re: [PATCH 1/2] vfs: make real_lookup do dentry revalidation with i_mutex held

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ian Kent wrote:
> Sage Weil wrote:
>> Would it be possible to avoid the upcall in revalidate, and instead fail 
>> and let the subsequent lookup path do it?  (I'm guessing the upcall 
>> doesn't happen for _every_ revalidate?)

snip ...

> 
> It was more than three years ago when I tried to make everything go
> through lookup so my memory is pretty unclear now. In the end I think
> there was one case in real_lookup() where the lookup was skipped,
> revalidate was called and failed but lookup wasn't then called again and
> I got an incorrect failure. AFAICR all other code paths that hold the
> mutex over lookup and revalidate perform the revalidate first and then
> the lookup if that fails, which avoids this case.

I've managed to locate the work that I did on this (on an old machine I
left as it was for posterity).

I haven't had a chance to look at what I did closely and a lot has
changed in autofs4 since. The one thing that I'm fairly sure I would
need to be able to make this work is the order of the calls in
real_lookup() to be revalidate then lookup. Would that work for
real_lookup() given that we hold the mutex now?

In fact this might be an opportunity for me to clean up my sloppy
DCACHE_AUTOFS_PENDING handling by moving it all under the inode mutex.

Since this is likely to be quite a bit of effort on my part could I
impose on you to help me understand the issue you need to resolve? I'd
really like to feel it's worth the effort.

Ian

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux