else
pg.count = PAGE_SIZE;
+ CDEBUG(D_PAGE, "%s %d bytes ino %lu at "LPU64"/"LPX64"\n",
+ cmd & OBD_BRW_WRITE ? "write" : "read", pg.count, inode->i_ino,
+ pg.off, pg.off);
+ if (pg.count == 0) {
+ CERROR("ZERO COUNT: ino %lu: size %p:%Lu(%p:%Lu) idx %lu off "
+ LPU64"\n",
+ inode->i_ino, inode, inode->i_size, page->mapping->host,
+ page->mapping->host->i_size, page->index, pg.off);
+ }
+
pg.flag = create ? OBD_BRW_CREATE : 0;
set->brw_callback = ll_brw_sync_wait;
{
struct obdo oa = {0};
struct lov_stripe_md *lsm = ll_i2info(inode)->lli_smd;
- struct lustre_handle *lockhs = NULL;
+ struct lustre_handle lockh = { 0, 0 };
int err;
ENTRY;
oa.o_mode = inode->i_mode;
oa.o_valid = OBD_MD_FLID | OBD_MD_FLMODE | OBD_MD_FLTYPE;
- CDEBUG(D_INFO, "calling punch for "LPX64" (all bytes after "LPD64")\n",
+ CDEBUG(D_INFO, "calling punch for "LPX64" (all bytes after %Lu)\n",
oa.o_id, inode->i_size);
- err = ll_size_lock(inode, lsm, inode->i_size, LCK_PW, &lockhs);
+ err = ll_size_lock(inode, lsm, inode->i_size, LCK_PW, &lockh);
if (err) {
CERROR("ll_size_lock failed: %d\n", err);
return;
else
obdo_to_inode(inode, &oa, oa.o_valid);
- err = ll_size_unlock(inode, lsm, LCK_PW, lockhs);
+ err = ll_size_unlock(inode, lsm, LCK_PW, &lockh);
if (err)
CERROR("ll_size_unlock failed: %d\n", err);
pg.pg = page;
pg.count = to;
+ /* XXX make the starting offset "from" */
pg.off = (((obd_off)page->index) << PAGE_SHIFT);
pg.flag = create ? OBD_BRW_CREATE : 0;
if (!PageLocked(page))
LBUG();
- CDEBUG(D_INODE, "commit_page writing (off "LPD64"), count "LPD64"\n",
+ CDEBUG(D_INODE, "commit_page writing (off "LPD64"), count %d\n",
pg.off, pg.count);
set->brw_callback = ll_brw_sync_wait;