inode_init_lvb(dentry->d_inode, lvb);
- CDEBUG(D_DLMTRACE, "res: "LPU64" initial lvb size: "LPU64", "
- "mtime: "LPU64", blocks: "LPU64"\n",
+ CDEBUG(D_DLMTRACE, "res: "LPX64" initial lvb size: "LPX64", "
+ "mtime: "LPX64", blocks: "LPX64"\n",
res->lr_name.name[0], lvb->lvb_size,
lvb->lvb_mtime, lvb->lvb_blocks);
out_dentry:
f_dput(dentry);
+ if (rc)
+ OST_LVB_SET_ERR(lvb->lvb_blocks, rc);
/* Don't free lvb data on lookup error */
return rc;
}
if (dentry->d_inode == NULL)
GOTO(out_dentry, rc = -ENOENT);
- if (dentry->d_inode->i_size > lvb->lvb_size || !increase_only) {
+ if (i_size_read(dentry->d_inode) > lvb->lvb_size || !increase_only) {
CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb size from disk: "
LPU64" -> %llu\n", res->lr_name.name[0],
- lvb->lvb_size, dentry->d_inode->i_size);
- lvb->lvb_size = dentry->d_inode->i_size;
+ lvb->lvb_size, i_size_read(dentry->d_inode));
+ lvb->lvb_size = i_size_read(dentry->d_inode);
}
if (LTIME_S(dentry->d_inode->i_mtime) >lvb->lvb_mtime|| !increase_only){
}
if (lvb->lvb_blocks != dentry->d_inode->i_blocks) {
CDEBUG(D_DLMTRACE,"res: "LPU64" updating lvb blocks from disk: "
- LPU64" -> %lu\n", res->lr_name.name[0],
- lvb->lvb_blocks, dentry->d_inode->i_blocks);
+ LPU64" -> %llu\n", res->lr_name.name[0],
+ lvb->lvb_blocks, (unsigned long long)dentry->d_inode->i_blocks);
lvb->lvb_blocks = dentry->d_inode->i_blocks;
}