All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sunil Mushran <sunil.mushran@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] Question of rejecting a downconvert
Date: Thu, 25 Mar 2010 10:49:46 -0700	[thread overview]
Message-ID: <4BABA23A.2060308@oracle.com> (raw)
In-Reply-To: <4BAC1F6B020000460001CAEE@novprvlin0050.provo.novell.com>

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
>>   
>
>

  reply	other threads:[~2010-03-25 17:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-25 15:43 [Ocfs2-devel] Question of rejecting a downconvert Dong Yang Li
2010-03-25 17:49 ` Sunil Mushran [this message]
2010-03-25 20:35   ` Sunil Mushran
2010-03-26  3:45     ` Li Dongyang
  -- strict thread matches above, loose matches on Subject: below --
2010-03-24  8:46 Li Dongyang
2010-03-24 18:50 ` Sunil Mushran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BABA23A.2060308@oracle.com \
    --to=sunil.mushran@oracle.com \
    --cc=ocfs2-devel@oss.oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.