lvb->lvb_mtime, new->lvb_mtime);
lvb->lvb_mtime = new->lvb_mtime;
}
- if (new->lvb_blocks > lvb->lvb_blocks || !increase) {
- CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb blocks: "
+ if (new->lvb_atime > lvb->lvb_atime || !increase) {
+ CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb atime: "
LPU64" -> "LPU64"\n", res->lr_name.name[0],
- lvb->lvb_blocks, new->lvb_blocks);
- lvb->lvb_blocks = new->lvb_blocks;
+ lvb->lvb_atime, new->lvb_atime);
+ lvb->lvb_atime = new->lvb_atime;
+ }
+ if (new->lvb_ctime > lvb->lvb_ctime || !increase) {
+ CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb ctime: "
+ LPU64" -> "LPU64"\n", res->lr_name.name[0],
+ lvb->lvb_ctime, new->lvb_ctime);
+ lvb->lvb_ctime = new->lvb_ctime;
}
- GOTO(out, rc = 0);
}
/* Update the LVB from the disk inode */
lvb->lvb_mtime, LTIME_S(dentry->d_inode->i_mtime));
lvb->lvb_mtime = LTIME_S(dentry->d_inode->i_mtime);
}
+ if (LTIME_S(dentry->d_inode->i_atime) > lvb->lvb_atime || !increase) {
+ CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb atime from disk: "
+ LPU64" -> %lu\n", res->lr_name.name[0],
+ lvb->lvb_atime, LTIME_S(dentry->d_inode->i_atime));
+ lvb->lvb_atime = LTIME_S(dentry->d_inode->i_atime);
+ }
+ if (LTIME_S(dentry->d_inode->i_ctime) > lvb->lvb_ctime || !increase) {
+ CDEBUG(D_DLMTRACE, "res: "LPU64" updating lvb ctime from disk: "
+ LPU64" -> %lu\n", res->lr_name.name[0],
+ lvb->lvb_ctime, LTIME_S(dentry->d_inode->i_ctime));
+ lvb->lvb_ctime = LTIME_S(dentry->d_inode->i_ctime);
+ }
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);