On Thu, 24 Jun 2021 at 09:42, Fengnan Chang <changfengnan@xxxxxxxx> wrote: > > Hi Miklos: > > Thank you for the information, I have been able to reproduce the problem. > > The new version of the patch as below. Previous fsx test is pass now. > Need do more test, Can you help to test new patch? or send me your test > case, I will test this. > > Here is my test case, and is the problem this patch is trying to solve. > Case A: > mkdir /tmp/test > passthrough_ll -ocache=always,writeback /mnt/test/ > echo "11111" > /tmp/test/fsx > ls -l /mnt/test/tmp/test/ > echo "2222" >> /tmp/test/fsx > ls -l /mnt/test/tmp/test/ > > Case B: > mkdir /tmp/test > passthrough_ll -ocache=always,writeback /mnt/test/ > passthrough_ll -ocache=always,writeback /mnt/test2/ > echo "11111" > /tmp/test/fsx > ls -l /mnt/test/tmp/test/ > ls -l /mnt/test2/tmp/test/ > echo "222" >> /mnt/test/tmp/test/fsx > ls -l /mnt/test/tmp/test/ > ls -l /mnt/test2/tmp/test/ Both these testcases have the "cache=always" option, which means: cached values (both data and metadata) are always valid; i.e. changes will be made only through this client and not through some other channel (like the backing filesystem or another instance). Why is "cache=always" used? Thanks, Miklos