[Ocfs2-devel] Question of rejecting a downconvert

Sunil Mushran sunil.mushran at oracle.com
Thu Mar 25 10:49:46 PDT 2010


As I said... there are no means to reject a downconvert.

May I suggest a different approach. Look at DCACHE_NFSFS_RENAMED.
That's nfs's silly rename hack. NFS prevents unlinking of a file
by setting this dentry flag.

Investigate how we can set/unset this flag in the mount/umount path.
Or, another flag that is specific to clustered file systems.

Also, see gfs2. See how it handles this.

Sunil

Dong Yang Li wrote:
> but just re-queuing the downconvert when the dentry is used as a mount point won't work for this case,
> because when the other node wanna up-convert its dentry_lock to EX, it has already got the EX lock on
>
> the inode of the dentry's parent. so when we wanna get a PR lock on the inode(this could happen during a umount on the mountpoint),
> we'll block on that and both the nodes will wait for each other forever. I see two options on this:
> 1. make a node could reject the downconvert when it requires so.
> 2. blocking the other node when it wanna unlink the dentry we used as a mount point,
> and make us could get a PR on the inode of the mount point's parent, so after umount
> we can finally do the downconvert and unblock the other node.
> Comments?
> Br,
> Li Dongyang
>
>>>> Sunil Mushran  03/25/10 2:51 AM >>>
> While the fs can delay the downconvert of any resource, there are
> no means of explicitly rejecting it. And no rejection means the
> requesting node will keep waiting for the downconvert.
>
> Li Dongyang wrote:
>> Hi, list
>> I've read 
>> http://opendlm.sourceforge.net/cvsmirror/opendlm/docs/dlmbook_final.pdf but 
>> still confused, why a node can not reject a downconvert when it gets a bast in 
>> o2dlm?
>> and if we can, we could fix this bug: 
>> http://oss.oracle.com/bugzilla/show_bug.cgi?id=1075
>> ocfs2: a busy mount point can be removed from another node
>> by adding a check in check_downconvert callback:
>> if the dentry->d_mounted is not zero, then just reject the downconvert.
>>
>> Any hints? :-)
>> Thanks
>>
>> _______________________________________________
>> Ocfs2-devel mailing list
>> Ocfs2-devel at oss.oracle.com
>> http://oss.oracle.com/mailman/listinfo/ocfs2-devel
>>   
>
>




More information about the Ocfs2-devel mailing list