Whamcloud - gitweb
Two bugs that were stopping write_disjoint from passing. First, an awesome
authorzab <zab>
Mon, 20 Oct 2003 18:18:15 +0000 (18:18 +0000)
committerzab <zab>
Mon, 20 Oct 2003 18:18:15 +0000 (18:18 +0000)
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.

lustre/obdclass/obdo.c

index 938c3f7..73ca0ee 100644 (file)
@@ -215,7 +215,7 @@ void obdo_refresh_inode(struct inode *dst, struct obdo *src, obd_flag valid)
                 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)