gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gluster-devel] [bug?][read-ahead] when cache is invalid, should destroy


From: LI Daobing
Subject: [Gluster-devel] [bug?][read-ahead] when cache is invalid, should destroy all cache in the same inode_t?
Date: Wed, 19 Dec 2007 13:39:20 +0800

Hello,

now the cache is bind to fd_t, and when there is a write command, only
the cache in this fd_t is mark dirty. I think this scheme has problem
in the real world.

Consider there are process A and B open the same file, A write data to
a file and B read data from that file after A notify B the data is
ready. In this case, A and B have different fd_t, and A's write
operation will not trigger B's cache dirty. so B read the dirty data
from cache. What do you think? Or did I make any mistake on this
problem?

some operations in read-ahead is affected by this issue, including (at
least) ra_writev, ra_truncate, ra_ftruncate.

write-behind maybe affected by the same issue, but I am not very clear
on this. at least wb_truncate, wb_stat, wb_utimens has a bug, it
should trigger the wb_sync for all the fd_t, not only the first fd_t.

Best Regards,
 LI Daobing




reply via email to

[Prev in Thread] Current Thread [Next in Thread]