]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/xfs/xfs_inode_item.c
Merge tag 'arm-soc/for-5.5/devicetree-part2' of https://github.com/Broadcom/stblinux...
[linux.git] / fs / xfs / xfs_inode_item.c
index bb8f076805b9ea5f97f4ec82ee9ee77eab42fa06..8bd5d0de6321e8fa4d790a0febcf11852e4d9c33 100644 (file)
@@ -17,6 +17,7 @@
 #include "xfs_trans_priv.h"
 #include "xfs_buf_item.h"
 #include "xfs_log.h"
+#include "xfs_error.h"
 
 #include <linux/iversion.h>
 
@@ -309,8 +310,8 @@ xfs_inode_to_log_dinode(
        to->di_format = from->di_format;
        to->di_uid = from->di_uid;
        to->di_gid = from->di_gid;
-       to->di_projid_lo = from->di_projid_lo;
-       to->di_projid_hi = from->di_projid_hi;
+       to->di_projid_lo = from->di_projid & 0xffff;
+       to->di_projid_hi = from->di_projid >> 16;
 
        memset(to->di_pad, 0, sizeof(to->di_pad));
        memset(to->di_pad3, 0, sizeof(to->di_pad3));
@@ -340,8 +341,8 @@ xfs_inode_to_log_dinode(
 
        if (from->di_version == 3) {
                to->di_changecount = inode_peek_iversion(inode);
-               to->di_crtime.t_sec = from->di_crtime.t_sec;
-               to->di_crtime.t_nsec = from->di_crtime.t_nsec;
+               to->di_crtime.t_sec = from->di_crtime.tv_sec;
+               to->di_crtime.t_nsec = from->di_crtime.tv_nsec;
                to->di_flags2 = from->di_flags2;
                to->di_cowextsize = from->di_cowextsize;
                to->di_ino = ip->i_ino;
@@ -666,7 +667,7 @@ xfs_inode_item_destroy(
        xfs_inode_t     *ip)
 {
        kmem_free(ip->i_itemp->ili_item.li_lv_shadow);
-       kmem_zone_free(xfs_ili_zone, ip->i_itemp);
+       kmem_cache_free(xfs_ili_zone, ip->i_itemp);
 }
 
 
@@ -828,8 +829,10 @@ xfs_inode_item_format_convert(
 {
        struct xfs_inode_log_format_32  *in_f32 = buf->i_addr;
 
-       if (buf->i_len != sizeof(*in_f32))
+       if (buf->i_len != sizeof(*in_f32)) {
+               XFS_ERROR_REPORT(__func__, XFS_ERRLEVEL_LOW, NULL);
                return -EFSCORRUPTED;
+       }
 
        in_f->ilf_type = in_f32->ilf_type;
        in_f->ilf_size = in_f32->ilf_size;