[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51BD1B84.9080402@huawei.com>
Date: Sun, 16 Jun 2013 09:57:24 +0800
From: shencanquan <shencanquan@...wei.com>
To: Richard Yao <ryao@...too.org>
CC: Jeff Liu <jeff.liu@...cle.com>, Mark Fasheh <mfasheh@...e.com>,
<linux-kernel@...r.kernel.org>, <kernel@...too.org>,
<linux-fsdevel@...r.kernel.org>,
Ocfs2-Devel <ocfs2-devel@....oracle.com>
Subject: Re: [Ocfs2-devel] [PATCH 1/2] ocfs2: Fix llseek() semantics and do
some cleanup
On 2013/6/16 8:44, Richard Yao wrote:
> On 06/15/2013 02:22 AM, shencanquan wrote:
>> Hello, Richard and Jeff,
>> we found that llseek has another bug when in SEEK_END. it should be
>> add the inode lock and unlock.
>> this bug can be reproduce the following scenario:
>> on one nodeA, open the file and then write some data to file and
>> close the file .
>> on another nodeB , open the file and llseek the end of file . the
>> position of file is old.
> Did these operations occur sequentially or did they occur concurrently?
>
> If you meant the former, the inode cache is not being invalidated. That
> should be a bug because Oracle claims OCFS2 is cache-coherent. However,
> it is possible that this case was left out of the cache-coherence
> protocol for performance purposes. If that is the case, then this would
> be by design. someone who works for Oracle would need to comment on that
> though.
it is a occur sequentially. after close the file on NodeA , on
nodeB and then open the file and llseek the end of file.
>
> If you meant the latter, you should ask yourself what would happen when
> you run two separate programs on the same file in a local filesystem.
> There should be no way to avoid a race without some kind of a locking
> mechanism.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists