Re: Question regarding CIFS cache=loose behavior.

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

 



Jeff Layton wrote:
> That's expected behavior. The kernel believes that the file is frozen in
> length so it returns short read() calls until the size is updated.

The "size is updated" means "stat() detects the growth of file size",
doesn't it? Then, the former is expected behavior.

> 
> cache=loose is very much not recommended for use when you have multiple
> hosts accessing files on the server (or access by processes on the
> server itself). It only gives you "loose" cache coherency. The whole
> point of it is to allow the client to cache data even when the protocol
> says that it shouldn't.

But why is the latter ( "read() returns non-0 when stat() detects the growth
of file size but the data actually read is '\0'" ) is expected behavior?
It sounds like a bug that the client caches '\0' (data nobody has ever wrote)
instead of '.' (data somebody wrote when the file size grew).

> 
> cache=strict is what is recommended and that's the default these days.

Yes, I suggested a customer using CIFS on RHEL6 to use cache=none or
cache=strict , for that customer's system does not work as expected due to
the latter behavior when using "tail -f" for checking for appended log.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux