From: Srinivas Eeda <srinivas.eeda@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 0/3] ocfs2: fix slow deleting
Date: Fri, 08 Jul 2011 00:02:57 -0700 [thread overview]
Message-ID: <4E16ABA1.6050702@oracle.com> (raw)
In-Reply-To: <4E16166B.3080808@oracle.com>
Below is excerpts from Joel's email for the same question :)
> Currently, orphan scan just iterate all the slots and call
> ocfs2_queue_recovery_completion, but I don't think it is proper for a node
> to query another mounted one since that node will query it by
> itself.
Node 1 has an inode it was using. The dentry went away due to
memory pressure. Node 1 closes the inode, but it's on the free list.
The node has the open lock.
Node 2 unlinks the inode. It grabs the dentry lock to notify
others, but node 1 has no dentry and doesn't get the message. It
trylocks the open lock, sees that another node has a PR, and does
nothing.
Later node 2 runs its orphan dir. It igets the inode, trylocks
the open lock, sees the PR still, and does nothing.
Basically, we have to trigger an orphan iput on node 1. The
only way for this to happen is if node 1 runs node 2's orphan dir. This
patch exists because that wasn't happening.
On 7/7/2011 1:26 PM, Sunil Mushran wrote:
> On 07/07/2011 01:02 PM, Sunil Mushran wrote:
>> On 07/06/2011 11:19 PM, Srinivas Eeda wrote:
>>> On 7/5/2011 11:17 PM, Sunil Mushran wrote:
>>>> 2. All nodes have to scan all slots. Even live slots. I remember we
>>>> did for
>>>> a reason. And that reason should be in the comment in the patch
>>>> written
>>>> by Srini.
>>> When a node unlinks a file it inserts an entry into it's own orphan
>>> slot. If another node is the last one to close the file and dentry got
>>> flushed then it will not do the cleanup as it doesn't know the file was
>>> orphaned. The file will remain in the orphan slot till the node
>>> umounts
>>> and the same slot is reused again. To overcome this problem a node has
>>> to rescan all slots(including live slots) and try to do the cleanup.
>> The qs is not why are we scanning all live slots on all nodes. As in,
>> why not just recover the local slot. There was a reason for that.
>> Yes, we have to recover unused slots for the reason listed previously.
>
> bleh.... let me rephrase.
>
> The qs is why are we scanning all live slots on all nodes. Wengangs
> patch limits the scanning to the local (live) slot only. And I remember
> we had a reason for it.
next prev parent reply other threads:[~2011-07-08 7:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-06 4:38 [Ocfs2-devel] [PATCH 0/3] ocfs2: fix slow deleting Wengang Wang
2011-07-06 6:17 ` Sunil Mushran
2011-07-06 6:41 ` Wengang Wang
2011-07-06 6:48 ` Wengang Wang
2011-07-07 6:19 ` Srinivas Eeda
2011-07-07 20:02 ` Sunil Mushran
2011-07-07 20:26 ` Sunil Mushran
2011-07-08 7:02 ` Srinivas Eeda [this message]
2011-07-08 16:18 ` Sunil Mushran
2011-07-28 10:14 ` Joel Becker
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=4E16ABA1.6050702@oracle.com \
--to=srinivas.eeda@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.