[Ocfs2-devel] [PATCH 1/2] ocfs2: Fix llseek() semantics and do some cleanup

shencanquan shencanquan at huawei.com
Sat Jun 15 18:57:24 PDT 2013


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





More information about the Ocfs2-devel mailing list