summaryrefslogtreecommitdiff
path: root/src/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/inode.c')
-rw-r--r--src/inode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/inode.c b/src/inode.c
index 5ffeb11..283ec42 100644
--- a/src/inode.c
+++ b/src/inode.c
@@ -794,12 +794,12 @@ struct ring_buf* get_j_inode_list(struct ext2_super_block *es, ext2_ino_t inode_
}
// check for the real filesystem inode
-// if not delete, we add also this inode
+// if not delete or newer than the last journal copy, we add also this inode
if ( ext2fs_read_inode_full(current_fs, inode_nr, (struct ext2_inode*)inode_buf, pos.size))
goto errout;
inode_pointer = (struct ext2_inode*) inode_buf ;
- if((! inode_pointer->i_dtime) && inode_pointer->i_ctime){
+ if(((! inode_pointer->i_dtime) && inode_pointer->i_ctime) || (inode_pointer->i_ctime > ctime)){
item = r_item_add(buf);
if ( ! item){
fprintf(stderr,"Error: can not allocate memory for inode\n");