From: Amir Goldstein <amir73il@xxxxxxxxxxxx> On snapshot take, after copying the pre-allocated blocks, some are fixed to make the snapshot image appear as a valid Ext4 file system. The has_snapshot flags is cleared from the super block as well as the last_snapshot field and all snapshot inodes are cleared (to appear as empty inodes). Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxxxxx> Signed-off-by: Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> --- fs/ext4/ext4.h | 2 ++ fs/ext4/inode.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 3cf6602..c04a031 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -1850,6 +1850,8 @@ struct buffer_head *ext4_bread(handle_t *, struct inode *, int ext4_get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create); +extern blkcnt_t ext4_inode_blocks(struct ext4_inode *raw_inode, + struct ext4_inode_info *ei); extern struct inode *ext4_iget(struct super_block *, unsigned long); extern int ext4_write_inode(struct inode *, struct writeback_control *); extern int ext4_setattr(struct dentry *, struct iattr *); diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index c3d4e7a..4bc60f1 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5203,8 +5203,8 @@ void ext4_get_inode_flags(struct ext4_inode_info *ei) } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl); } -static blkcnt_t ext4_inode_blocks(struct ext4_inode *raw_inode, - struct ext4_inode_info *ei) +blkcnt_t ext4_inode_blocks(struct ext4_inode *raw_inode, + struct ext4_inode_info *ei) { blkcnt_t i_blocks ; struct inode *inode = &(ei->vfs_inode); -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html