summaryrefslogtreecommitdiff
path: root/src/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/inode.c')
-rw-r--r--src/inode.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/inode.c b/src/inode.c
index d4a14df..9f8b393 100644
--- a/src/inode.c
+++ b/src/inode.c
@@ -789,6 +789,26 @@ struct ring_buf* get_j_inode_list(struct ext2_super_block *es, ext2_ino_t inode_
same_size = item->inode->i_size;
same_link_count = item->inode->i_links_count;
}
+
+// check for the real filesystem inode
+// if not delete, 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){
+ item = r_item_add(buf);
+ if ( ! item){
+ fprintf(stderr,"Error: can not allocate memory for inode\n");
+ goto errout;
+ }
+ memcpy(item->inode, inode_buf, pos.size);
+ item->transaction.start = item->transaction.end = 0;
+#ifdef DEBUG
+ fprintf(stdout,"*;");
+#endif
+ }
+
} // else-tree ? count==0
if (buf->count == 0)