Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[linux-2.6-microblaze.git] / fs / ext4 / migrate.c
index 42f5905..54e7d3c 100644 (file)
@@ -417,7 +417,7 @@ int ext4_ext_migrate(struct inode *inode)
        struct inode *tmp_inode = NULL;
        struct migrate_struct lb;
        unsigned long max_entries;
-       __u32 goal;
+       __u32 goal, tmp_csum_seed;
        uid_t owner[2];
 
        /*
@@ -465,6 +465,7 @@ int ext4_ext_migrate(struct inode *inode)
         * the migration.
         */
        ei = EXT4_I(inode);
+       tmp_csum_seed = EXT4_I(tmp_inode)->i_csum_seed;
        EXT4_I(tmp_inode)->i_csum_seed = ei->i_csum_seed;
        i_size_write(tmp_inode, i_size_read(inode));
        /*
@@ -575,6 +576,7 @@ err_out:
         * the inode is not visible to user space.
         */
        tmp_inode->i_blocks = 0;
+       EXT4_I(tmp_inode)->i_csum_seed = tmp_csum_seed;
 
        /* Reset the extent details */
        ext4_ext_tree_init(handle, tmp_inode);