From bdb8f3d78f14005c420e064589cd14dcd9c9eff4 Mon Sep 17 00:00:00 2001 From: robi Date: Sat, 7 Aug 2010 18:42:31 +0000 Subject: Bug 017423 --- src/inode.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/inode.c') 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) -- cgit v1.2.3