From cdcc46d9910ef179f045ad1747533c78c6a3d6e2 Mon Sep 17 00:00:00 2001 From: zab Date: Mon, 20 Oct 2003 18:18:15 +0000 Subject: [PATCH] Two bugs that were stopping write_disjoint from passing. First, an awesome 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/obdclass/obdo.c b/lustre/obdclass/obdo.c index 938c3f7..73ca0ee 100644 --- a/lustre/obdclass/obdo.c +++ b/lustre/obdclass/obdo.c @@ -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) -- 1.8.3.1