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]

 



Sage Weil wrote:
> 
>> There are several cases I need to deal with, apart from path walks
>> initiated by the daemon which don't cause any call backs, and so are
>> largely handled by trivially returning success. The cases are, an
>> expiring dentry that will go away which ->lookup() can't yet handle, an
>> expiring dentry that won't go away which ->lookup() should be able to
>> handle already, and a straight out mount request which ->lookup() should
>> also be able to handle. The tail end of the expire cases can progress
>> concurrently with a mount, which is further complicated by the two cases
>> of going away or not, so it's all a bit tricky.
> 
> It sounds to me like revalidate should only return success in the trivial, 
> non-blocking case.  And the ->lookup() should be able to handle all 
> (other) cases.  I.e., things should still work correctly (perhaps more 
> slowly) without any d_revalidate() at all.  (It still looks like the main 
> change needed is for lookup to use d_obtain_alias, instead of returning 
> NULL unconditionally...)

How so?

I don't understand how d_obtain_alias() can help in this situation.
Can you elaborate please?

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