typo in lov_lock_contains() prevented llite from recognizing a lock cancelation
associated with the furthest cached region of a file. Second, a comparision in
obdo_refresh_inode() without a complimentary drop of i_size to 0 prevented a
node from getting size updates after a remote truncate.
LTIME_S(dst->i_mtime) = src->o_mtime;
if (valid & OBD_MD_FLCTIME && src->o_ctime > LTIME_S(dst->i_ctime))
LTIME_S(dst->i_ctime) = src->o_ctime;
- if (valid & OBD_MD_FLSIZE && src->o_size > dst->i_size)
+ if (valid & OBD_MD_FLSIZE)
dst->i_size = src->o_size;
/* optimum IO size */
if (valid & OBD_MD_FLBLKSZ && src->o_blksize > dst->i_blksize)