mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
fusefs: only test for incoherency if FN_SIZECHANGE is set
FUSE emits spurious incoherency warnings in writethrough mode. The warnings are triggered by setattr calls generated by vnode truncation turning the cached va_size vattr stale, causing comparisons with the fresh version provided by the server to fail. Only validate the vnode's va_size vattr if the FN_SIZECHANGE flag is set. This is a part of the research work at RCSLab, University of Waterloo. Reviewed by: asomers Pull Request: https://github.com/freebsd/freebsd-src/pull/1110 (cherry picked from commit 8758bf0aaec1d4b2ebcb429e8cabc691c2c95461)
This commit is contained in:
parent
43bf62a364
commit
61ddfc0e55
1 changed files with 2 additions and 2 deletions
|
|
@ -270,10 +270,10 @@ fuse_internal_cache_attrs(struct vnode *vp, struct fuse_attr *attr,
|
|||
|
||||
if (vnode_isreg(vp) &&
|
||||
fvdat->cached_attrs.va_size != VNOVAL &&
|
||||
fvdat->flag & FN_SIZECHANGE &&
|
||||
attr->size != fvdat->cached_attrs.va_size)
|
||||
{
|
||||
if ( data->cache_mode == FUSE_CACHE_WB &&
|
||||
fvdat->flag & FN_SIZECHANGE)
|
||||
if (data->cache_mode == FUSE_CACHE_WB)
|
||||
{
|
||||
const char *msg;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue