From: shencanquan <shencanquan@huawei.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: llseek need to inode cluster lock and unlock for update the inode size in SEEK_END.
Date: Tue, 18 Jun 2013 09:03:46 +0800 [thread overview]
Message-ID: <51BFB1F2.3040007@huawei.com> (raw)
In-Reply-To: <20130617170251.GH29353@wotan.suse.de>
On 2013/6/18 1:02, Mark Fasheh wrote:
> On Mon, Jun 17, 2013 at 11:17:49PM +0800, Jeff Liu wrote:
>> Please add spaces between comments and annotation, i.e,
>> /* Need to ...... */
>
> yes, please describe while we're taking the lock here (describing the race
> you're talking about would be fine).
>
>
>>> + ret = ocfs2_inode_lock(inode, NULL, 0);
>>> + if (ret < 0) {
>>> + mlog_errno(ret);
>>> + goto out;
>>> + }
>>> + ocfs2_inode_unlock(inode, 0);
>>> offset += inode->i_size;
>>
>> Why not protect the offset adjustment insides ocfs2 inode locks?
>
> If we're going through the trouble of locking we *need* to put the offset
> calculation inside the lock otherwise we can still get stale i_size and
> basically haven't fixed anything.
>
>
> Btw, do you feel that this could impact performance for other workloads that
> ocfs2 usually does?
I think it maybe impact performance. because it use the cluster lock and
it maybe flush the inode cache to disk and read the inode from disk. but
I think the correct function of llseek is more important.
> --Mark
>
> --
> Mark Fasheh
>
>
next prev parent reply other threads:[~2013-06-18 1:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-17 14:48 [Ocfs2-devel] [PATCH] ocfs2: llseek need to inode cluster lock and unlock for update the inode size in SEEK_END shencanquan
2013-06-17 14:48 ` shencanquan
2013-06-17 15:17 ` [Ocfs2-devel] " Jeff Liu
2013-06-17 15:17 ` Jeff Liu
2013-06-17 17:02 ` [Ocfs2-devel] " Mark Fasheh
2013-06-17 17:02 ` Mark Fasheh
2013-06-18 1:03 ` shencanquan [this message]
2013-06-18 0:57 ` shencanquan
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=51BFB1F2.3040007@huawei.com \
--to=shencanquan@huawei.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.