- recovery timer race (2670)
- mdc_close recovey bug (2532)
-2004-02-06 Cluster File Systems, Inc. <info@clusterfs.com>
+2004-02-07 Cluster File Systems, Inc. <info@clusterfs.com>
* version 1.0.4
* kernel patches
- fix truncated write corruption (2366)
- fix for failed assertion in iopen_connect_dentry (1792,2517)
* bug fixes
- don't flag the ptlrpcd thread with PF_MEMALLOC (2636)
+ - ensure len(uuid) < 37 in lmc (1171)
+ - fix ia64 OOPS in llog_test (2255)
+ - zero end of page at obdfilter for partial page writes (2648)
2004-01-27 Cluster File Systems, Inc. <info@clusterfs.com>
* version 1.0.3
RETURN(lnb->rc = -ENOMEM);
}
POISON_PAGE(page, 0xf1);
+ if (lnb->len != PAGE_SIZE) {
+ memset(kmap(page) + lnb->len, 0, PAGE_SIZE - lnb->len);
+ kunmap(page);
+ }
page->index = lnb->offset >> PAGE_SHIFT;
lnb->page = page;
memset(res, 0, niocount * sizeof(*res));
push_ctxt(&saved, &exp->exp_obd->obd_ctxt, NULL);
- dentry = filter_fid2dentry(exp->exp_obd, NULL, obj->ioo_gr,
+ dentry = filter_fid2dentry(exp->exp_obd, NULL, obj->ioo_gr,
obj->ioo_id);
if (IS_ERR(dentry))
GOTO(cleanup, rc = PTR_ERR(dentry));
/* the dlm is protecting us from read/write concurrency, so we
* expect this find_lock_page to return quickly. even if we
* race with another writer it won't be doing much work with
- * the page locked. we do this 'cause t_c_p expects a
+ * the page locked. we do this 'cause t_c_p expects a
* locked page, and it wants to grab the pagecache lock
* as well. */
old_page = find_lock_page(inode->i_mapping, new_page->index);
/* racing o_directs (no locking ioctl) could race adding
* their pages, so we repeat the page invalidation unless
* we successfully added our new page */
- rc = add_to_page_cache_unique(new_page, inode->i_mapping,
+ rc = add_to_page_cache_unique(new_page, inode->i_mapping,
new_page->index,
- page_hash(inode->i_mapping,
+ page_hash(inode->i_mapping,
new_page->index));
if (rc == 0) {
/* add_to_page_cache clears uptodate|dirty and locks
SetPageUptodate(new_page);
unlock_page(new_page);
}
-#else
+#else
rc = 0;
#endif
} while (rc != 0);