]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/xfs/xfs_inode_item.c
Merge remote-tracking branch 'edac-amd/for-next'
[karo-tx-linux.git] / fs / xfs / xfs_inode_item.c
index 588d1b4523cb376df414476b8f4b357589fd806f..c48b5b18d771fab685e23c03613a1c6e762efcb4 100644 (file)
@@ -333,23 +333,24 @@ xfs_inode_to_log_dinode(
 
        to->di_magic = XFS_DINODE_MAGIC;
 
-       to->di_mode = from->di_mode;
        to->di_version = from->di_version;
        to->di_format = from->di_format;
-       to->di_onlink = from->di_onlink;
        to->di_uid = from->di_uid;
        to->di_gid = from->di_gid;
-       to->di_nlink = from->di_nlink;
        to->di_projid_lo = from->di_projid_lo;
        to->di_projid_hi = from->di_projid_hi;
 
        memset(to->di_pad, 0, sizeof(to->di_pad));
+       memset(to->di_pad3, 0, sizeof(to->di_pad3));
        to->di_atime.t_sec = inode->i_atime.tv_sec;
        to->di_atime.t_nsec = inode->i_atime.tv_nsec;
        to->di_mtime.t_sec = inode->i_mtime.tv_sec;
        to->di_mtime.t_nsec = inode->i_mtime.tv_nsec;
        to->di_ctime.t_sec = inode->i_ctime.tv_sec;
        to->di_ctime.t_nsec = inode->i_ctime.tv_nsec;
+       to->di_nlink = inode->i_nlink;
+       to->di_gen = inode->i_generation;
+       to->di_mode = inode->i_mode;
 
        to->di_size = from->di_size;
        to->di_nblocks = from->di_nblocks;
@@ -361,10 +362,9 @@ xfs_inode_to_log_dinode(
        to->di_dmevmask = from->di_dmevmask;
        to->di_dmstate = from->di_dmstate;
        to->di_flags = from->di_flags;
-       to->di_gen = from->di_gen;
 
        if (from->di_version == 3) {
-               to->di_changecount = from->di_changecount;
+               to->di_changecount = inode->i_version;
                to->di_crtime.t_sec = from->di_crtime.t_sec;
                to->di_crtime.t_nsec = from->di_crtime.t_nsec;
                to->di_flags2 = from->di_flags2;