Whamcloud - gitweb
Branch: b1_4
authoradilger <adilger>
Mon, 4 Apr 2005 12:59:33 +0000 (12:59 +0000)
committeradilger <adilger>
Mon, 4 Apr 2005 12:59:33 +0000 (12:59 +0000)
Forward compat hooks in wire structs.
b=6007
r=jacob

22 files changed:
lustre/ChangeLog
lustre/include/linux/lustre_idl.h
lustre/include/linux/lustre_mds.h
lustre/ldlm/ldlm_lib.c
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/lvfs/.cvsignore
lustre/mdc/mdc_locks.c
lustre/mdc/mdc_request.c
lustre/mds/handler.c
lustre/mds/mds_lib.c
lustre/mds/mds_log.c
lustre/mds/mds_reint.c
lustre/obdclass/.cvsignore
lustre/obdclass/obdo.c
lustre/obdecho/echo.c
lustre/obdfilter/filter.c
lustre/osc/osc_quota.c
lustre/ptlrpc/pack_generic.c
lustre/utils/obd.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c

index 362b49d..7e94e9e 100644 (file)
@@ -28,6 +28,7 @@
          startup (6017)
        - add support for an arbitrary number of OSTs (3026)  
        - Quota support protocol changes.
+       - forward compatibility changes to wire structs (6007)
        
 2005-03-22  Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.4.1
index 7a7688a..3b904ff 100644 (file)
 
 
 #define PTLRPC_MSG_VERSION  0x00000003
-#define LUSTRE_MDS_VERSION  (0x00040000|PTLRPC_MSG_VERSION)
-#define LUSTRE_OST_VERSION  (0x00040000|PTLRPC_MSG_VERSION)
-#define LUSTRE_DLM_VERSION  (0x00040000|PTLRPC_MSG_VERSION)
+#define LUSTRE_VERSION_MASK 0xffff0000
+#define LUSTRE_OBD_VERSION  0x00010000
+#define LUSTRE_MDS_VERSION  0x00020000
+#define LUSTRE_OST_VERSION  0x00030000
+#define LUSTRE_DLM_VERSION  0x00040000
+#define LUSTRE_LOG_VERSION  0x00050000
+#define LUSTRE_PBD_VERSION  0x00060000
 
 struct lustre_handle {
         __u64 cookie;
@@ -192,12 +196,15 @@ static inline void lustre_msg_set_op_flags(struct lustre_msg *msg, int flags)
 #define MSG_CONNECT_REPLAYABLE  0x4
 //#define MSG_CONNECT_PEER        0x8
 #define MSG_CONNECT_LIBCLIENT   0x10
+#define MSG_CONNECT_INITIAL     0x20
 
 /* Connect flags */
 
 #define OBD_CONNECT_RDONLY 0x1
 
-#define OBD_CONNECT_SUPPORTED (OBD_CONNECT_RDONLY)
+#define MDS_CONNECT_SUPPORTED  (OBD_CONNECT_RDONLY)
+#define OST_CONNECT_SUPPORTED  (0)
+#define ECHO_CONNECT_SUPPORTED (0)
 
 /* This structure is used for both request and reply.
  *  
@@ -251,26 +258,34 @@ typedef uint32_t        obd_mode;
 typedef uint32_t        obd_uid;
 typedef uint32_t        obd_gid;
 typedef uint32_t        obd_flag;
+typedef uint64_t        obd_valid;
 typedef uint32_t        obd_count;
 
+#define OBD_FL_INLINEDATA    (0x00000001)
+#define OBD_FL_OBDMDEXISTS   (0x00000002)
 #define OBD_FL_DELORPHAN     (0x00000004) /* if set in o_flags delete orphans */
+#define OBD_FL_NORPC         (0x00000008) /* set in o_flags do in OSC not OST */
+#define OBD_FL_IDONLY        (0x00000010) /* set in o_flags only adjust obj id*/
 #define OBD_FL_RECREATE_OBJS (0x00000020) /* recreate missing obj */
 #define OBD_FL_DEBUG_CHECK   (0x00000040) /* echo client/server debug check */
 #define OBD_FL_NO_USRQUOTA   (0x00000100) /* the object's owner is over quota */
 #define OBD_FL_NO_GRPQUOTA   (0x00000200) /* the object's group is over quota */
 
-#define OBD_INLINESZ    64
+#define OBD_INLINESZ    80
 
 /* Note: 64-bit types are 64-bit aligned in structure */
 struct obdo {
+        obd_valid               o_valid;        /* hot fields in this obdo */
         obd_id                  o_id;
         obd_gr                  o_gr;
-        obd_size                o_size;
+        obd_id                  o_fid;
+        obd_size                o_size;         /* o_size-o_blocks == ost_lvb */
         obd_time                o_mtime;
         obd_time                o_atime;
         obd_time                o_ctime;
         obd_blocks              o_blocks;       /* brw: cli sent cached bytes */
         obd_size                o_grant;
+        /* 32-bit fields start here: keep an even number of them via padding */
         obd_blksize             o_blksize;      /* optimal IO blocksize */
         obd_mode                o_mode;         /* brw: cli sent cache remain */
         obd_uid                 o_uid;
@@ -278,9 +293,11 @@ struct obdo {
         obd_flag                o_flags;
         obd_count               o_nlink;        /* brw: checksum */
         obd_count               o_generation;
-        obd_flag                o_valid;        /* hot fields in this obdo */
         obd_count               o_misc;         /* brw: o_dropped */
         __u32                   o_easize;       /* epoch in ost writes */
+        __u32                   o_mds;
+        __u32                   o_padding_1;
+        __u32                   o_padding_2;
         char                    o_inline[OBD_INLINESZ]; /* fid in ost writes */
 };
 
@@ -297,6 +314,7 @@ extern void lustre_swab_obdo (struct obdo *o);
 #define LOV_PATTERN_RAID0 0x001   /* stripes are used round-robin */
 #define LOV_PATTERN_RAID1 0x002   /* stripes are mirrors of each other */
 #define LOV_PATTERN_FIRST 0x100   /* first stripe is not in round-robin */
+#define LOV_PATTERN_CMOBD 0x200
 
 #define lov_ost_data lov_ost_data_v1
 struct lov_ost_data_v1 {          /* per-stripe data structure (little-endian)*/
@@ -317,37 +335,40 @@ struct lov_mds_md_v1 {            /* LOV EA mds/wire data (little-endian) */
         struct lov_ost_data_v1 lmm_objects[0]; /* per-stripe data */
 };
 
-#define OBD_MD_FLALL    (0xffffffff)
-#define OBD_MD_FLID     (0x00000001)    /* object ID */
-#define OBD_MD_FLATIME  (0x00000002)    /* access time */
-#define OBD_MD_FLMTIME  (0x00000004)    /* data modification time */
-#define OBD_MD_FLCTIME  (0x00000008)    /* change time */
-#define OBD_MD_FLSIZE   (0x00000010)    /* size */
-#define OBD_MD_FLBLOCKS (0x00000020)    /* allocated blocks count */
-#define OBD_MD_FLBLKSZ  (0x00000040)    /* block size */
-#define OBD_MD_FLMODE   (0x00000080)    /* access bits (mode & ~S_IFMT) */
-#define OBD_MD_FLTYPE   (0x00000100)    /* object type (mode & S_IFMT) */
-#define OBD_MD_FLUID    (0x00000200)    /* user ID */
-#define OBD_MD_FLGID    (0x00000400)    /* group ID */
-#define OBD_MD_FLFLAGS  (0x00000800)    /* flags word */
-#define OBD_MD_FLNLINK  (0x00002000)    /* link count */
-#define OBD_MD_FLGENER  (0x00004000)    /* generation number */
-#define OBD_MD_FLINLINE (0x00008000)    /* inline data */
-#define OBD_MD_FLRDEV   (0x00010000)    /* device number */
-#define OBD_MD_FLEASIZE (0x00020000)    /* extended attribute data */
-#define OBD_MD_LINKNAME (0x00040000)    /* symbolic link target */
-#define OBD_MD_FLHANDLE (0x00080000)    /* file handle */
-#define OBD_MD_FLCKSUM  (0x00100000)    /* bulk data checksum */
-#define OBD_MD_FLQOS    (0x00200000)    /* quality of service stats */
-#define OBD_MD_FLOSCOPQ (0x00400000)    /* osc opaque data */
-#define OBD_MD_FLCOOKIE (0x00800000)    /* log cancellation cookie */
-#define OBD_MD_FLGROUP  (0x01000000)    /* group */
-#define OBD_MD_FLIFID   (0x02000000)    /* ->ost write inline fid */
-#define OBD_MD_FLEPOCH  (0x04000000)    /* ->ost write easize is epoch */
-#define OBD_MD_FLGRANT  (0x08000000)    /* ost preallocation space grant */
-#define OBD_MD_FLDIREA  (0x10000000)    /* dir's extended attribute data */
-#define OBD_MD_FLUSRQUOTA  (0x20000000)  
-#define OBD_MD_FLGRPQUOTA  (0x40000000) /* over quota flags sent back by ost */
+#define OBD_MD_FLID        (0x00000001ULL) /* object ID */
+#define OBD_MD_FLATIME     (0x00000002ULL) /* access time */
+#define OBD_MD_FLMTIME     (0x00000004ULL) /* data modification time */
+#define OBD_MD_FLCTIME     (0x00000008ULL) /* change time */
+#define OBD_MD_FLSIZE      (0x00000010ULL) /* size */
+#define OBD_MD_FLBLOCKS    (0x00000020ULL) /* allocated blocks count */
+#define OBD_MD_FLBLKSZ     (0x00000040ULL) /* block size */
+#define OBD_MD_FLMODE      (0x00000080ULL) /* access bits (mode & ~S_IFMT) */
+#define OBD_MD_FLTYPE      (0x00000100ULL) /* object type (mode & S_IFMT) */
+#define OBD_MD_FLUID       (0x00000200ULL) /* user ID */
+#define OBD_MD_FLGID       (0x00000400ULL) /* group ID */
+#define OBD_MD_FLFLAGS     (0x00000800ULL) /* flags word */
+#define OBD_MD_FLNLINK     (0x00002000ULL) /* link count */
+#define OBD_MD_FLGENER     (0x00004000ULL) /* generation number */
+#define OBD_MD_FLINLINE    (0x00008000ULL) /* inline data */
+#define OBD_MD_FLRDEV      (0x00010000ULL) /* device number */
+#define OBD_MD_FLEASIZE    (0x00020000ULL) /* extended attribute data */
+#define OBD_MD_LINKNAME    (0x00040000ULL) /* symbolic link target */
+#define OBD_MD_FLHANDLE    (0x00080000ULL) /* file handle */
+#define OBD_MD_FLCKSUM     (0x00100000ULL) /* bulk data checksum */
+#define OBD_MD_FLQOS       (0x00200000ULL) /* quality of service stats */
+#define OBD_MD_FLOSCOPQ    (0x00400000ULL) /* osc opaque data */
+#define OBD_MD_FLCOOKIE    (0x00800000ULL) /* log cancellation cookie */
+#define OBD_MD_FLGROUP     (0x01000000ULL) /* group */
+#define OBD_MD_FLIFID      (0x02000000ULL) /* ->ost write inline fid */
+#define OBD_MD_FLEPOCH     (0x04000000ULL) /* ->ost write easize is epoch */
+#define OBD_MD_FLGRANT     (0x08000000ULL) /* ost preallocation space grant */
+#define OBD_MD_FLDIREA     (0x10000000ULL) /* dir's extended attribute data */
+#define OBD_MD_FLUSRQUOTA  (0x20000000ULL) /* over quota flags sent from ost */
+#define OBD_MD_FLGRPQUOTA  (0x40000000ULL) /* over quota flags sent from ost */
+
+#define OBD_MD_MDS        (0x100000000ULL) /* where an inode lives on */
+#define OBD_MD_REINT      (0x200000000ULL) /* reintegrate oa */
+
 #define OBD_MD_FLNOTOBD (~(OBD_MD_FLBLOCKS | OBD_MD_LINKNAME|\
                            OBD_MD_FLEASIZE | OBD_MD_FLHANDLE | OBD_MD_FLCKSUM|\
                            OBD_MD_FLQOS | OBD_MD_FLOSCOPQ | OBD_MD_FLCOOKIE|\
@@ -471,13 +492,15 @@ typedef enum {
  * Do not exceed 63
  */
 
-#define REINT_SETATTR    1
-#define REINT_CREATE     2
-#define REINT_LINK       3
-#define REINT_UNLINK     4
-#define REINT_RENAME     5
-#define REINT_OPEN       6
-#define REINT_MAX        6
+typedef enum {
+        REINT_SETATTR  = 1,
+        REINT_CREATE   = 2,
+        REINT_LINK     = 3,
+        REINT_UNLINK   = 4,
+        REINT_RENAME   = 5,
+        REINT_OPEN     = 6,
+        REINT_MAX
+} mds_reint_t;
 
 /* the disposition of the intent outlines what was executed */
 #define DISP_IT_EXECD     0x01
@@ -512,27 +535,30 @@ struct mds_body {
         struct ll_fid  fid1;
         struct ll_fid  fid2;
         struct lustre_handle handle;
+        __u64          valid;
         __u64          size;   /* Offset, in the case of MDS_READPAGE */
+        __u64          mtime;
+        __u64          atime;
+        __u64          ctime;
         __u64          blocks; /* XID, in the case of MDS_READPAGE */
         __u64          io_epoch;
-        __u32          ino;   /* make this a __u64 */
-        __u32          valid;
+        __u64          ino;
         __u32          fsuid;
         __u32          fsgid;
         __u32          capability;
         __u32          mode;
         __u32          uid;
         __u32          gid;
-        __u32          mtime;
-        __u32          ctime;
-        __u32          atime;
         __u32          flags; /* from vfs for pin/unpin, MDS_BFLAG for close */
         __u32          rdev;
         __u32          nlink; /* #bytes to read in the case of MDS_READPAGE */
         __u32          generation;
         __u32          suppgid;
         __u32          eadatasize;
-        __u32          packing;
+        __u32          padding_1; /* also fix lustre_swab_mds_body */
+        __u32          padding_2; /* also fix lustre_swab_mds_body */
+        __u32          padding_3; /* also fix lustre_swab_mds_body */
+        __u32          padding_4; /* also fix lustre_swab_mds_body */
 };
 
 extern void lustre_swab_mds_body (struct mds_body *b);
@@ -587,16 +613,17 @@ struct mds_rec_setattr {
         __u32           sa_fsgid;
         __u32           sa_cap;
         __u32           sa_suppgid;
-        __u32           sa_valid;
-        struct ll_fid   sa_fid;
         __u32           sa_mode;
-        __u32           sa_uid;
-        __u32           sa_gid;
-        __u32           sa_attr_flags;
+        struct ll_fid   sa_fid;
+        __u64           sa_valid;
         __u64           sa_size;
-        __u64           sa_atime;
         __u64           sa_mtime;
+        __u64           sa_atime;
         __u64           sa_ctime;
+        __u32           sa_uid;
+        __u32           sa_gid;
+        __u32           sa_attr_flags;
+        __u32           sa_padding; /* also fix lustre_swab_mds_rec_setattr */
 };
 
 /* Remove this once we declare it in include/linux/fs.h (v21 kernel patch?) */
@@ -637,7 +664,11 @@ struct mds_rec_create {
         __u64           cr_time;
         __u64           cr_rdev;
         __u32           cr_suppgid;
-        __u32           cr_packing;
+        __u32           cr_padding_1; /* also fix lustre_swab_mds_rec_create */
+        __u32           cr_padding_2; /* also fix lustre_swab_mds_rec_create */
+        __u32           cr_padding_3; /* also fix lustre_swab_mds_rec_create */
+        __u32           cr_padding_4; /* also fix lustre_swab_mds_rec_create */
+        __u32           cr_padding_5; /* also fix lustre_swab_mds_rec_create */
 };
 
 extern void lustre_swab_mds_rec_create (struct mds_rec_create *cr);
@@ -652,6 +683,10 @@ struct mds_rec_link {
         struct ll_fid   lk_fid1;
         struct ll_fid   lk_fid2;
         __u64           lk_time;
+        __u32           lk_padding_1;  /* also fix lustre_swab_mds_rec_link */
+        __u32           lk_padding_2;  /* also fix lustre_swab_mds_rec_link */
+        __u32           lk_padding_3;  /* also fix lustre_swab_mds_rec_link */
+        __u32           lk_padding_4;  /* also fix lustre_swab_mds_rec_link */
 };
 
 extern void lustre_swab_mds_rec_link (struct mds_rec_link *lk);
@@ -666,6 +701,10 @@ struct mds_rec_unlink {
         struct ll_fid   ul_fid1;
         struct ll_fid   ul_fid2;
         __u64           ul_time;
+        __u32           ul_padding_1; /* also fix lustre_swab_mds_rec_unlink */
+        __u32           ul_padding_2; /* also fix lustre_swab_mds_rec_unlink */
+        __u32           ul_padding_3; /* also fix lustre_swab_mds_rec_unlink */
+        __u32           ul_padding_4; /* also fix lustre_swab_mds_rec_unlink */
 };
 
 extern void lustre_swab_mds_rec_unlink (struct mds_rec_unlink *ul);
@@ -680,6 +719,10 @@ struct mds_rec_rename {
         struct ll_fid   rn_fid1;
         struct ll_fid   rn_fid2;
         __u64           rn_time;
+        __u32           rn_padding_1; /* also fix lustre_swab_mds_rec_rename */
+        __u32           rn_padding_2; /* also fix lustre_swab_mds_rec_rename */
+        __u32           rn_padding_3; /* also fix lustre_swab_mds_rec_rename */
+        __u32           rn_padding_4; /* also fix lustre_swab_mds_rec_rename */
 };
 
 extern void lustre_swab_mds_rec_rename (struct mds_rec_rename *rn);
@@ -688,6 +731,8 @@ extern void lustre_swab_mds_rec_rename (struct mds_rec_rename *rn);
  *  LOV data structures
  */
 
+#define LOV_MIN_STRIPE_SIZE 65536UL /* maximum PAGE_SIZE (ia64), power of 2 */
+
 #define LOV_MAX_UUID_BUFFER_SIZE  8192
 /* The size of the buffer the lov/mdc reserves for the
  * array of UUIDs returned by the MDS.  With the current
@@ -702,6 +747,10 @@ struct lov_desc {
         __u32 ld_pattern;                  /* PATTERN_RAID0, PATTERN_RAID1 */
         __u64 ld_default_stripe_size;      /* in bytes */
         __u64 ld_default_stripe_offset;    /* in bytes */
+        __u32 ld_padding_1;                /* also fix lustre_swab_lov_desc */
+        __u32 ld_padding_2;                /* also fix lustre_swab_lov_desc */
+        __u32 ld_padding_3;                /* also fix lustre_swab_lov_desc */
+        __u32 ld_padding_4;                /* also fix lustre_swab_lov_desc */
         struct obd_uuid ld_uuid;
 };
 
index 6beb16c..b6d30be 100644 (file)
@@ -70,8 +70,8 @@ struct mds_update_record {
         struct iattr ur_iattr;
         struct obd_ucred ur_uc;
         __u64 ur_rdev;
-        __u32 ur_mode;
         __u64 ur_time;
+        __u32 ur_mode;
         __u32 ur_flags;
 };
 
@@ -190,7 +190,7 @@ int mdc_req2lustre_md(struct ptlrpc_request *req, int offset,
                       struct obd_export *exp, struct lustre_md *md);
 int mdc_getstatus(struct obd_export *exp, struct ll_fid *rootfid);
 int mdc_getattr(struct obd_export *exp, struct ll_fid *fid,
-                unsigned long valid, unsigned int ea_size,
+                obd_valid valid, unsigned int ea_size,
                 struct ptlrpc_request **request);
 int mdc_getattr_name(struct obd_export *exp, struct ll_fid *fid,
                      char *filename, int namelen, unsigned long valid,
index 026e92f..198eb7e 100644 (file)
@@ -655,7 +655,6 @@ int target_handle_connect(struct ptlrpc_request *req, svc_handler_t handler)
 
         /* Return only the parts of obd_connect_data that we understand, so the
          * client knows that we don't understand the rest. */
-        data->ocd_connect_flags &= OBD_CONNECT_SUPPORTED;
         memcpy(lustre_msg_buf(req->rq_repmsg, 0, sizeof(*data)), data,
                sizeof(*data));
 
index 697e2f8..e75a473 100644 (file)
@@ -1258,7 +1258,7 @@ void ll_update_inode(struct inode *inode, struct mds_body *body,
                 LTIME_S(inode->i_atime) = body->atime;
         if (body->valid & OBD_MD_FLMTIME &&
             body->mtime > LTIME_S(inode->i_mtime)) {
-                CDEBUG(D_INODE, "setting ino %lu mtime from %lu to %u\n",
+                CDEBUG(D_INODE, "setting ino %lu mtime from %lu to "LPU64"\n",
                        inode->i_ino, LTIME_S(inode->i_mtime), body->mtime);
                 LTIME_S(inode->i_mtime) = body->mtime;
         }
@@ -1518,6 +1518,11 @@ int lustre_remount_fs(struct super_block *sb, int *flags, char *data)
                                "remount: %d\n", err);
                         return err;
                 }
+
+                if (read_only)
+                        sb->s_flags |= MS_RDONLY;
+                else
+                        sb->s_flags &= ~MS_RDONLY;
         }
         return 0;
 }
index f2079f7..430eb17 100644 (file)
@@ -62,7 +62,7 @@ static int ll_test_inode(struct inode *inode, void *opaque)
                 last_ino = md->body->ino;
                 last_gen = md->body->generation;
                 CDEBUG(D_VFSTRACE,
-                       "comparing inode %p ino %lu/%u to body %u/%u\n",
+                       "comparing inode %p ino %lu/%u to body "LPU64"/%u\n",
                        inode, inode->i_ino, inode->i_generation,
                        md->body->ino, md->body->generation);
         }
@@ -502,7 +502,7 @@ static void ll_update_times(struct ptlrpc_request *request, int offset,
 
         if (body->valid & OBD_MD_FLMTIME &&
             body->mtime > LTIME_S(inode->i_mtime)) {
-                CDEBUG(D_INODE, "setting ino %lu mtime from %lu to %u\n",
+                CDEBUG(D_INODE, "setting ino %lu mtime from %lu to "LPU64"\n",
                        inode->i_ino, LTIME_S(inode->i_mtime), body->mtime);
                 LTIME_S(inode->i_mtime) = body->mtime;
         }
index ed1cfa2..592ce3b 100644 (file)
@@ -15,4 +15,4 @@ autoMakefile
 .tmp_versions
 .depend
 sources
-fsfilt_ldiskfs.c
+fsfilt_ldiskfs.*
index 4702f5d..6f16f23 100644 (file)
@@ -329,7 +329,7 @@ int mdc_enqueue(struct obd_export *exp,
                 reply_buffers = 4;
                 req->rq_replen = lustre_msg_size(4, repsize);
         } else if (it->it_op & (IT_GETATTR | IT_LOOKUP)) {
-                int valid = OBD_MD_FLNOTOBD | OBD_MD_FLEASIZE;
+                obd_valid valid = OBD_MD_FLNOTOBD | OBD_MD_FLEASIZE;
                 size[2] = sizeof(struct mds_body);
                 size[3] = data->namelen + 1;
 
index 7ba104f..1afcc33 100644 (file)
@@ -143,7 +143,7 @@ int mdc_getattr_common(struct obd_export *exp, unsigned int ea_size,
 }
 
 int mdc_getattr(struct obd_export *exp, struct ll_fid *fid,
-                unsigned long valid, unsigned int ea_size,
+                obd_valid valid, unsigned int ea_size,
                 struct ptlrpc_request **request)
 {
         struct ptlrpc_request *req;
index f722340..bdb1e83 100644 (file)
@@ -283,6 +283,7 @@ static int mds_connect(struct lustre_handle *conn, struct obd_device *obd,
         LASSERT(exp);
         med = &exp->exp_mds_data;
 
+        data->ocd_connect_flags &= MDS_CONNECT_SUPPORTED;
         exp->exp_connect_flags = data->ocd_connect_flags;
 
         OBD_ALLOC(mcd, sizeof(*mcd));
index 71fdbdd..b4ea941 100644 (file)
@@ -313,7 +313,7 @@ static int mds_open_unpack(struct ptlrpc_request *req, int offset,
 typedef int (*update_unpacker)(struct ptlrpc_request *req, int offset,
                                struct mds_update_record *r);
 
-static update_unpacker mds_unpackers[REINT_MAX + 1] = {
+static update_unpacker mds_unpackers[REINT_MAX] = {
         [REINT_SETATTR] mds_setattr_unpack,
         [REINT_CREATE] mds_create_unpack,
         [REINT_LINK] mds_link_unpack,
@@ -341,9 +341,8 @@ int mds_update_unpack(struct ptlrpc_request *req, int offset,
         if (lustre_msg_swabbed (req->rq_reqmsg))
                 __swab32s (&opcode);
 
-        if (opcode > REINT_MAX ||
-            mds_unpackers[opcode] == NULL) {
-                CERROR ("Unexpected opcode %d\n", opcode);
+        if (opcode >= REINT_MAX || mds_unpackers[opcode] == NULL) {
+                CERROR("Unexpected opcode %d\n", opcode);
                 RETURN(-EFAULT);
         }
 
index 9da5623..dc1a143 100644 (file)
@@ -226,7 +226,7 @@ int mds_llog_finish(struct obd_device *obd, int count)
         ENTRY;
 
         ctxt = llog_get_context(obd, LLOG_MDS_OST_ORIG_CTXT);
-        if (ctxt) 
+        if (ctxt)
                 rc = llog_cleanup(ctxt);
 
         ctxt = llog_get_context(obd, LLOG_SIZE_REPL_CTXT);
index db4cd58..075fcd7 100644 (file)
@@ -2070,7 +2070,7 @@ cleanup:
 typedef int (*mds_reinter)(struct mds_update_record *, int offset,
                            struct ptlrpc_request *, struct lustre_handle *);
 
-static mds_reinter reinters[REINT_MAX + 1] = {
+static mds_reinter reinters[REINT_MAX] = {
         [REINT_SETATTR] mds_reint_setattr,
         [REINT_CREATE] mds_reint_create,
         [REINT_LINK] mds_reint_link,
@@ -2088,8 +2088,7 @@ int mds_reint_rec(struct mds_update_record *rec, int offset,
         ENTRY;
 
         /* checked by unpacker */
-        LASSERT(rec->ur_opcode <= REINT_MAX &&
-                reinters[rec->ur_opcode] != NULL);
+        LASSERT(rec->ur_opcode < REINT_MAX && reinters[rec->ur_opcode] != NULL);
 
         push_ctxt(&saved, &obd->obd_ctxt, &rec->ur_uc);
         rc = reinters[rec->ur_opcode] (rec, offset, req, lockh);
index 5d26f00..829b50d 100644 (file)
@@ -11,5 +11,7 @@ autoMakefile
 *.ko
 *.mod.c
 .*.flags
+.*.d
+.*.ver
 .tmp_versions
 .depend
index 4e8e244..86a9598 100644 (file)
@@ -81,8 +81,8 @@ void iattr_from_obdo(struct iattr *attr, struct obdo *oa, obd_flag valid)
         valid &= oa->o_valid;
 
         if (valid & (OBD_MD_FLCTIME | OBD_MD_FLMTIME))
-                CDEBUG(D_INODE, "valid %x, new time %lu/%lu\n",
-                       oa->o_valid, (long)oa->o_mtime, (long)oa->o_ctime);
+                CDEBUG(D_INODE, "valid "LPX64", new time "LPU64"/"LPU64"\n",
+                       oa->o_valid, oa->o_mtime, oa->o_ctime);
 
         attr->ia_valid = 0;
         if (valid & OBD_MD_FLATIME) {
@@ -197,10 +197,10 @@ void obdo_refresh_inode(struct inode *dst, struct obdo *src, obd_flag valid)
         valid &= src->o_valid;
 
         if (valid & (OBD_MD_FLCTIME | OBD_MD_FLMTIME))
-                CDEBUG(D_INODE, "valid %x, cur time %lu/%lu, new %lu/%lu\n",
-                       src->o_valid, LTIME_S(dst->i_mtime), 
-                       LTIME_S(dst->i_ctime),
-                       (long)src->o_mtime, (long)src->o_ctime);
+                CDEBUG(D_INODE,
+                       "valid "LPX64", cur time %lu/%lu, new "LPU64"/"LPU64"\n",
+                       src->o_valid, LTIME_S(dst->i_mtime),
+                       LTIME_S(dst->i_ctime), src->o_mtime, src->o_ctime);
 
         if (valid & OBD_MD_FLATIME && src->o_atime > LTIME_S(dst->i_atime))
                 LTIME_S(dst->i_atime) = src->o_atime;
@@ -226,10 +226,10 @@ void obdo_to_inode(struct inode *dst, struct obdo *src, obd_flag valid)
         valid &= src->o_valid;
 
         if (valid & (OBD_MD_FLCTIME | OBD_MD_FLMTIME))
-                CDEBUG(D_INODE, "valid %x, cur time %lu/%lu, new %lu/%lu\n",
-                       src->o_valid, 
-                       LTIME_S(dst->i_mtime), LTIME_S(dst->i_ctime),
-                       (long)src->o_mtime, (long)src->o_ctime);
+                CDEBUG(D_INODE,
+                       "valid "LPX64", cur time %lu/%lu, new "LPU64"/"LPU64"\n",
+                       src->o_valid, LTIME_S(dst->i_mtime),
+                       LTIME_S(dst->i_ctime), src->o_mtime, src->o_ctime);
 
         if (valid & OBD_MD_FLATIME)
                 LTIME_S(dst->i_atime) = src->o_atime;
@@ -262,7 +262,7 @@ EXPORT_SYMBOL(obdo_to_inode);
 void obdo_cpy_md(struct obdo *dst, struct obdo *src, obd_flag valid)
 {
 #ifdef __KERNEL__
-        CDEBUG(D_INODE, "src obdo "LPX64" valid 0x%x, dst obdo "LPX64"\n",
+        CDEBUG(D_INODE, "src obdo "LPX64" valid "LPX64", dst obdo "LPX64"\n",
                src->o_id, src->o_valid, dst->o_id);
 #endif
         if (valid & OBD_MD_FLATIME)
index cb60624..9eb289a 100644 (file)
@@ -61,6 +61,7 @@ enum {
 static int echo_connect(struct lustre_handle *conn, struct obd_device *obd,
                         struct obd_uuid *cluuid, struct obd_connect_data *data)
 {
+        data->ocd_connect_flags &= ECHO_CONNECT_SUPPORTED;
         return class_connect(conn, obd, cluuid);
 }
 
@@ -127,7 +128,7 @@ int echo_create(struct obd_export *exp, struct obdo *oa,
         }
 
         if (!(oa->o_valid & OBD_MD_FLTYPE)) {
-                CERROR("invalid o_valid %08x\n", oa->o_valid);
+                CERROR("invalid o_valid "LPX64"\n", oa->o_valid);
                 return -EINVAL;
         }
 
@@ -143,13 +144,13 @@ int echo_destroy(struct obd_export *exp, struct obdo *oa,
         struct obd_device *obd = class_exp2obd(exp);
 
         if (!obd) {
-                CERROR("invalid client cookie "LPX64"\n", 
+                CERROR("invalid client cookie "LPX64"\n",
                        exp->exp_handle.h_cookie);
                 RETURN(-EINVAL);
         }
 
         if (!(oa->o_valid & OBD_MD_FLID)) {
-                CERROR("obdo missing FLID valid flag: %08x\n", oa->o_valid);
+                CERROR("obdo missing FLID valid flag: "LPX64"\n", oa->o_valid);
                 RETURN(-EINVAL);
         }
 
@@ -174,7 +175,7 @@ static int echo_getattr(struct obd_export *exp, struct obdo *oa,
         }
 
         if (!(oa->o_valid & OBD_MD_FLID)) {
-                CERROR("obdo missing FLID valid flag: %08x\n", oa->o_valid);
+                CERROR("obdo missing FLID valid flag: "LPX64"\n", oa->o_valid);
                 RETURN(-EINVAL);
         }
 
@@ -196,7 +197,7 @@ static int echo_setattr(struct obd_export *exp, struct obdo *oa,
         }
 
         if (!(oa->o_valid & OBD_MD_FLID)) {
-                CERROR("obdo missing FLID valid flag: %08x\n", oa->o_valid);
+                CERROR("obdo missing FLID valid flag: "LPX64"\n", oa->o_valid);
                 RETURN(-EINVAL);
         }
 
index e93cc25..56056a7 100644 (file)
@@ -1446,6 +1446,7 @@ static int filter_connect(struct lustre_handle *conn, struct obd_device *obd,
         LASSERT(exp != NULL);
 
         fed = &exp->exp_filter_data;
+        data->ocd_connect_flags &= OST_CONNECT_SUPPORTED;
         exp->exp_connect_flags = data->ocd_connect_flags;
 
         spin_lock_init(&fed->fed_lock);
@@ -2336,8 +2337,8 @@ static int filter_truncate(struct obd_export *exp, struct obdo *oa,
                 CERROR("PUNCH not supported, only truncate: end = "LPX64"\n",
                        end);
 
-        CDEBUG(D_INODE, "calling truncate for object "LPU64", valid = %x, "
-               "o_size = "LPD64"\n", oa->o_id, oa->o_valid, start);
+        CDEBUG(D_INODE, "calling truncate for object "LPU64", valid = "LPX64
+               "o_size = "LPD64"\n", oa->o_id, oa->o_valid, start);
         oa->o_size = start;
         error = filter_setattr(exp, oa, NULL, oti);
         RETURN(error);
index 74777dd..b09c2c5 100644 (file)
@@ -23,7 +23,7 @@
 # define EXPORT_SYMTAB
 #endif
 #define DEBUG_SUBSYSTEM S_OSC
-                                                                                                                             
+
 #ifdef __KERNEL__
 # include <linux/module.h>
 # include <linux/obd.h>
@@ -83,7 +83,7 @@ static inline struct osc_quota_info *find_qinfo(struct client_obd *cli,
         unsigned int hashent = hashfn(cli, id, type);
         struct list_head *head;
         struct osc_quota_info *oqi;
-                                                                                                                             
+
         for (head = qinfo_hash[hashent].next;
              head != qinfo_hash+hashent; head = head->next) {
                 oqi = list_entry(head, struct osc_quota_info, oqi_hash);
index 26c354e..ebb685f 100644 (file)
@@ -362,12 +362,14 @@ void lustre_swab_connect(struct obd_connect_data *ocd)
 
 void lustre_swab_obdo (struct obdo  *o)
 {
+        __swab64s (&o->o_valid);
         __swab64s (&o->o_id);
         __swab64s (&o->o_gr);
-        __swab64s (&o->o_atime);
+        __swab64s (&o->o_fid);
+        __swab64s (&o->o_size);
         __swab64s (&o->o_mtime);
+        __swab64s (&o->o_atime);
         __swab64s (&o->o_ctime);
-        __swab64s (&o->o_size);
         __swab64s (&o->o_blocks);
         __swab64s (&o->o_grant);
         __swab32s (&o->o_blksize);
@@ -377,9 +379,11 @@ void lustre_swab_obdo (struct obdo  *o)
         __swab32s (&o->o_flags);
         __swab32s (&o->o_nlink);
         __swab32s (&o->o_generation);
-        __swab32s (&o->o_valid);
         __swab32s (&o->o_misc);
         __swab32s (&o->o_easize);
+        __swab32s (&o->o_mds);
+        __swab32s (&o->o_padding_1);
+        __swab32s (&o->o_padding_2);
         /* o_inline is opaque */
 }
 
@@ -441,25 +445,30 @@ void lustre_swab_mds_body (struct mds_body *b)
         lustre_swab_ll_fid (&b->fid1);
         lustre_swab_ll_fid (&b->fid2);
         /* handle is opaque */
+        __swab64s (&b->valid);
         __swab64s (&b->size);
+        __swab64s (&b->mtime);
+        __swab64s (&b->atime);
+        __swab64s (&b->ctime);
         __swab64s (&b->blocks);
-        __swab32s (&b->ino);
-        __swab32s (&b->valid);
+        __swab64s (&b->io_epoch);
+        __swab64s (&b->ino);
         __swab32s (&b->fsuid);
         __swab32s (&b->fsgid);
         __swab32s (&b->capability);
         __swab32s (&b->mode);
         __swab32s (&b->uid);
         __swab32s (&b->gid);
-        __swab32s (&b->mtime);
-        __swab32s (&b->ctime);
-        __swab32s (&b->atime);
         __swab32s (&b->flags);
         __swab32s (&b->rdev);
         __swab32s (&b->nlink);
         __swab32s (&b->generation);
         __swab32s (&b->suppgid);
         __swab32s (&b->eadatasize);
+        __swab32s (&b->padding_1);
+        __swab32s (&b->padding_2);
+        __swab32s (&b->padding_3);
+        __swab32s (&b->padding_4);
 }
 
 static void lustre_swab_obd_dqinfo (struct obd_dqinfo *i)
@@ -501,16 +510,17 @@ void lustre_swab_mds_rec_setattr (struct mds_rec_setattr *sa)
         __swab32s (&sa->sa_fsgid);
         __swab32s (&sa->sa_cap);
         __swab32s (&sa->sa_suppgid);
-        __swab32s (&sa->sa_valid);
-        lustre_swab_ll_fid (&sa->sa_fid);
         __swab32s (&sa->sa_mode);
-        __swab32s (&sa->sa_uid);
-        __swab32s (&sa->sa_gid);
-        __swab32s (&sa->sa_attr_flags);
+        lustre_swab_ll_fid (&sa->sa_fid);
+        __swab64s (&sa->sa_valid);
         __swab64s (&sa->sa_size);
-        __swab64s (&sa->sa_atime);
         __swab64s (&sa->sa_mtime);
+        __swab64s (&sa->sa_atime);
         __swab64s (&sa->sa_ctime);
+        __swab32s (&sa->sa_uid);
+        __swab32s (&sa->sa_gid);
+        __swab32s (&sa->sa_attr_flags);
+        __swab32s (&sa->sa_padding);
 }
 
 void lustre_swab_mds_rec_create (struct mds_rec_create *cr)
@@ -526,6 +536,11 @@ void lustre_swab_mds_rec_create (struct mds_rec_create *cr)
         __swab64s (&cr->cr_time);
         __swab64s (&cr->cr_rdev);
         __swab32s (&cr->cr_suppgid);
+        __swab32s (&cr->cr_padding_1);
+        __swab32s (&cr->cr_padding_2);
+        __swab32s (&cr->cr_padding_3);
+        __swab32s (&cr->cr_padding_4);
+        __swab32s (&cr->cr_padding_5);
 }
 
 void lustre_swab_mds_rec_link (struct mds_rec_link *lk)
@@ -538,6 +553,11 @@ void lustre_swab_mds_rec_link (struct mds_rec_link *lk)
         __swab32s (&lk->lk_suppgid2);
         lustre_swab_ll_fid (&lk->lk_fid1);
         lustre_swab_ll_fid (&lk->lk_fid2);
+        __swab64s (&lk->lk_time);
+        __swab32s (&lk->lk_padding_1);
+        __swab32s (&lk->lk_padding_2);
+        __swab32s (&lk->lk_padding_3);
+        __swab32s (&lk->lk_padding_4);
 }
 
 void lustre_swab_mds_rec_unlink (struct mds_rec_unlink *ul)
@@ -550,6 +570,11 @@ void lustre_swab_mds_rec_unlink (struct mds_rec_unlink *ul)
         __swab32s (&ul->ul_mode);
         lustre_swab_ll_fid (&ul->ul_fid1);
         lustre_swab_ll_fid (&ul->ul_fid2);
+        __swab64s (&ul->ul_time);
+        __swab32s (&ul->ul_padding_1);
+        __swab32s (&ul->ul_padding_2);
+        __swab32s (&ul->ul_padding_3);
+        __swab32s (&ul->ul_padding_4);
 }
 
 void lustre_swab_mds_rec_rename (struct mds_rec_rename *rn)
@@ -562,6 +587,11 @@ void lustre_swab_mds_rec_rename (struct mds_rec_rename *rn)
         __swab32s (&rn->rn_suppgid2);
         lustre_swab_ll_fid (&rn->rn_fid1);
         lustre_swab_ll_fid (&rn->rn_fid2);
+        __swab64s (&rn->rn_time);
+        __swab32s (&rn->rn_padding_1);
+        __swab32s (&rn->rn_padding_2);
+        __swab32s (&rn->rn_padding_3);
+        __swab32s (&rn->rn_padding_4);
 }
 
 void lustre_swab_lov_desc (struct lov_desc *ld)
@@ -770,8 +800,8 @@ void lustre_swab_qdata(struct qunit_data *d)
 void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
-         * running on Linux b9.boston.clusterfs.com 2.4.21-27.0.2.EL_lustre.1.4.0.10smp #1 SMP Tue Fe
-         * with gcc version 3.4.1 20040702 (Red Hat Linux 3.4.1-2) */
+         * running on Linux schnapps.adilger.int 2.4.28 #2 Thu Dec 16 14:35:03 MST 2004 i686 i686 i38
+         * with gcc version 3.3.2 20040108 (Red Hat Linux 3.3.2-6) */
 
 
         /* Constants... */
@@ -887,7 +917,7 @@ void lustre_assert_wire_constants(void)
                  (long long)REINT_RENAME);
         LASSERTF(REINT_OPEN == 6, " found %lld\n",
                  (long long)REINT_OPEN);
-        LASSERTF(REINT_MAX == 6, " found %lld\n",
+        LASSERTF(REINT_MAX == 7, " found %lld\n",
                  (long long)REINT_MAX);
         LASSERTF(DISP_IT_EXECD == 1, " found %lld\n",
                  (long long)DISP_IT_EXECD);
@@ -959,6 +989,10 @@ void lustre_assert_wire_constants(void)
                  (long long)OBD_QC_CALLBACK);
         LASSERTF(OBD_LAST_OPC == 403, " found %lld\n",
                  (long long)OBD_LAST_OPC);
+        LASSERTF(QUOTA_DQACQ == 601, " found %lld\n",
+                 (long long)QUOTA_DQACQ);
+        LASSERTF(QUOTA_DQREL == 602, " found %lld\n",
+                 (long long)QUOTA_DQREL);
         /* Sizes and Offsets */
 
 
@@ -1023,84 +1057,94 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct lustre_msg *)0)->buflens[7]));
 
         /* Checks for struct obdo */
-        LASSERTF((int)sizeof(struct obdo) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(struct obdo) == 208, " found %lld\n",
                  (long long)(int)sizeof(struct obdo));
-        LASSERTF((int)offsetof(struct obdo, o_id) == 0, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_valid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_valid));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
+        LASSERTF((int)offsetof(struct obdo, o_id) == 8, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_id));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_id) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_id));
-        LASSERTF((int)offsetof(struct obdo, o_gr) == 8, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_gr) == 16, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_gr));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_gr) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_gr));
-        LASSERTF((int)offsetof(struct obdo, o_size) == 16, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_fid) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_fid));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_fid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_fid));
+        LASSERTF((int)offsetof(struct obdo, o_size) == 32, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_size));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_size));
-        LASSERTF((int)offsetof(struct obdo, o_mtime) == 24, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mtime) == 40, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_mtime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_mtime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_mtime));
-        LASSERTF((int)offsetof(struct obdo, o_atime) == 32, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_atime) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_atime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_atime));
-        LASSERTF((int)offsetof(struct obdo, o_ctime) == 40, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_ctime) == 56, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_ctime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_ctime));
-        LASSERTF((int)offsetof(struct obdo, o_blocks) == 48, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_blocks) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_blocks));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_blocks) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_blocks));
-        LASSERTF((int)offsetof(struct obdo, o_grant) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_grant) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_grant));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_grant) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_grant));
-        LASSERTF((int)offsetof(struct obdo, o_blksize) == 64, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_blksize) == 80, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_blksize));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_blksize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_blksize));
-        LASSERTF((int)offsetof(struct obdo, o_mode) == 68, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mode) == 84, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_mode));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_mode) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_mode));
-        LASSERTF((int)offsetof(struct obdo, o_uid) == 72, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_uid) == 88, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_uid));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_uid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_uid));
-        LASSERTF((int)offsetof(struct obdo, o_gid) == 76, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_gid) == 92, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_gid));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_gid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_gid));
-        LASSERTF((int)offsetof(struct obdo, o_flags) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_flags) == 96, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_flags));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_flags) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_flags));
-        LASSERTF((int)offsetof(struct obdo, o_nlink) == 84, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_nlink) == 100, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_nlink));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_nlink) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_nlink));
-        LASSERTF((int)offsetof(struct obdo, o_generation) == 88, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_generation) == 104, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_generation));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_generation) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_generation));
-        LASSERTF((int)offsetof(struct obdo, o_valid) == 92, " found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_valid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
-        LASSERTF((int)offsetof(struct obdo, o_misc) == 96, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_misc) == 108, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_misc));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_misc) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_misc));
-        LASSERTF((int)offsetof(struct obdo, o_easize) == 100, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_easize) == 112, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_easize));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_easize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_easize));
-        LASSERTF((int)offsetof(struct obdo, o_inline) == 104, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mds) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_mds));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_mds) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_mds));
+        LASSERTF((int)offsetof(struct obdo, o_inline) == 128, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_inline));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_inline) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_inline) == 80, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_inline));
+        LASSERTF(OBD_INLINESZ == 80, " found %lld\n",
+                 (long long)OBD_INLINESZ);
         LASSERTF(OBD_MD_FLID == 1, " found %lld\n",
                  (long long)OBD_MD_FLID);
         LASSERTF(OBD_MD_FLATIME == 2, " found %lld\n",
@@ -1143,16 +1187,44 @@ void lustre_assert_wire_constants(void)
                  (long long)OBD_MD_FLCKSUM);
         LASSERTF(OBD_MD_FLQOS == 2097152, " found %lld\n",
                  (long long)OBD_MD_FLQOS);
-        LASSERTF(OBD_MD_FLOSCOPQ == 4194304, " found %lld\n",
-                 (long long)OBD_MD_FLOSCOPQ);
         LASSERTF(OBD_MD_FLCOOKIE == 8388608, " found %lld\n",
                  (long long)OBD_MD_FLCOOKIE);
         LASSERTF(OBD_MD_FLGROUP == 16777216, " found %lld\n",
                  (long long)OBD_MD_FLGROUP);
+        LASSERTF(OBD_MD_FLIFID == 33554432, " found %lld\n",
+                 (long long)OBD_MD_FLIFID);
+        LASSERTF(OBD_MD_FLEPOCH == 67108864, " found %lld\n",
+                 (long long)OBD_MD_FLEPOCH);
+        LASSERTF(OBD_MD_FLGRANT == 134217728, " found %lld\n",
+                 (long long)OBD_MD_FLGRANT);
+        LASSERTF(OBD_MD_FLDIREA == 268435456, " found %lld\n",
+                 (long long)OBD_MD_FLDIREA);
+        LASSERTF(OBD_MD_FLUSRQUOTA == 536870912, " found %lld\n",
+                 (long long)OBD_MD_FLUSRQUOTA);
+        LASSERTF(OBD_MD_FLGRPQUOTA == 1073741824, " found %lld\n",
+                 (long long)OBD_MD_FLGRPQUOTA);
+        LASSERTF(OBD_MD_MDS == 4294967296ULL, " found %lld\n",
+                 (long long)OBD_MD_MDS);
+        LASSERTF(OBD_MD_REINT == 8589934592ULL, " found %lld\n",
+                 (long long)OBD_MD_REINT);
+        LASSERTF(OBD_FL_INLINEDATA == 1, " found %lld\n",
+                 (long long)OBD_FL_INLINEDATA);
+        LASSERTF(OBD_FL_OBDMDEXISTS == 2, " found %lld\n",
+                 (long long)OBD_FL_OBDMDEXISTS);
         LASSERTF(OBD_FL_DELORPHAN == 4, " found %lld\n",
                  (long long)OBD_FL_DELORPHAN);
+        LASSERTF(OBD_FL_NORPC == 8, " found %lld\n",
+                 (long long)OBD_FL_NORPC);
+        LASSERTF(OBD_FL_IDONLY == 16, " found %lld\n",
+                 (long long)OBD_FL_IDONLY);
         LASSERTF(OBD_FL_RECREATE_OBJS == 32, " found %lld\n",
                  (long long)OBD_FL_RECREATE_OBJS);
+        LASSERTF(OBD_FL_DEBUG_CHECK == 64, " found %lld\n",
+                 (long long)OBD_FL_DEBUG_CHECK);
+        LASSERTF(OBD_FL_NO_USRQUOTA == 256, " found %lld\n",
+                 (long long)OBD_FL_NO_USRQUOTA);
+        LASSERTF(OBD_FL_NO_GRPQUOTA == 512, " found %lld\n",
+                 (long long)OBD_FL_NO_GRPQUOTA);
 
         /* Checks for struct lov_mds_md_v1 */
         LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, " found %lld\n",
@@ -1272,6 +1344,94 @@ void lustre_assert_wire_constants(void)
         LASSERTF((int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obd_ioobj *)0)->ioo_bufcnt));
 
+        /* Checks for struct obd_quotactl */
+        LASSERTF((int)sizeof(struct obd_quotactl) == 112, " found %lld\n",
+                 (long long)(int)sizeof(struct obd_quotactl));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_cmd) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_cmd));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_cmd) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_cmd));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_type) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_type));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_type) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_type));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_id) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_id));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_id));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_stat) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_stat));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_stat) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_stat));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_dqinfo) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_dqinfo));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo) == 24, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqinfo));
+        LASSERTF((int)offsetof(struct obd_quotactl, qc_dqblk) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_quotactl, qc_dqblk));
+        LASSERTF((int)sizeof(((struct obd_quotactl *)0)->qc_dqblk) == 72, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_quotactl *)0)->qc_dqblk));
+
+        /* Checks for struct obd_dqinfo */
+        LASSERTF((int)sizeof(struct obd_dqinfo) == 24, " found %lld\n",
+                 (long long)(int)sizeof(struct obd_dqinfo));
+        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_bgrace) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqinfo, dqi_bgrace));
+        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_bgrace));
+        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_igrace) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqinfo, dqi_igrace));
+        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_igrace));
+        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_flags) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqinfo, dqi_flags));
+        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_flags));
+        LASSERTF((int)offsetof(struct obd_dqinfo, dqi_valid) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqinfo, dqi_valid));
+        LASSERTF((int)sizeof(((struct obd_dqinfo *)0)->dqi_valid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqinfo *)0)->dqi_valid));
+
+        /* Checks for struct obd_dqblk */
+        LASSERTF((int)sizeof(struct obd_dqblk) == 72, " found %lld\n",
+                 (long long)(int)sizeof(struct obd_dqblk));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_bhardlimit) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_bhardlimit));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bhardlimit));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_bsoftlimit) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_bsoftlimit));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_bsoftlimit));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_curspace) == 16, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_curspace));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curspace) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curspace));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_ihardlimit) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_ihardlimit));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_ihardlimit));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_isoftlimit) == 32, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_isoftlimit));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_isoftlimit));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_curinodes) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_curinodes));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_curinodes));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_btime) == 48, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_btime));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_btime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_btime));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_itime) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_itime));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_itime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_itime));
+        LASSERTF((int)offsetof(struct obd_dqblk, dqb_valid) == 64, " found %lld\n",
+                 (long long)(int)offsetof(struct obd_dqblk, dqb_valid));
+        LASSERTF((int)sizeof(((struct obd_dqblk *)0)->dqb_valid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obd_dqblk *)0)->dqb_valid));
+
         /* Checks for struct niobuf_remote */
         LASSERTF((int)sizeof(struct niobuf_remote) == 16, " found %lld\n",
                  (long long)(int)sizeof(struct niobuf_remote));
@@ -1297,11 +1457,11 @@ void lustre_assert_wire_constants(void)
                  (long long)OBD_BRW_FROM_GRANT);
 
         /* Checks for struct ost_body */
-        LASSERTF((int)sizeof(struct ost_body) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(struct ost_body) == 208, " found %lld\n",
                  (long long)(int)sizeof(struct ost_body));
         LASSERTF((int)offsetof(struct ost_body, oa) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct ost_body, oa));
-        LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, " found %lld\n",
                  (long long)(int)sizeof(((struct ost_body *)0)->oa));
 
         /* Checks for struct ll_fid */
@@ -1333,7 +1493,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_status_req *)0)->repbuf));
 
         /* Checks for struct mds_body */
-        LASSERTF((int)sizeof(struct mds_body) == 136, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_body) == 168, " found %lld\n",
                  (long long)(int)sizeof(struct mds_body));
         LASSERTF((int)offsetof(struct mds_body, fid1) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fid1));
@@ -1347,83 +1507,83 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct mds_body, handle));
         LASSERTF((int)sizeof(((struct mds_body *)0)->handle) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->handle));
-        LASSERTF((int)offsetof(struct mds_body, size) == 40, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, size) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, size));
         LASSERTF((int)sizeof(((struct mds_body *)0)->size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->size));
-        LASSERTF((int)offsetof(struct mds_body, blocks) == 48, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, blocks) == 80, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, blocks));
         LASSERTF((int)sizeof(((struct mds_body *)0)->blocks) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->blocks));
-        LASSERTF((int)offsetof(struct mds_body, io_epoch) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, io_epoch) == 88, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, io_epoch));
         LASSERTF((int)sizeof(((struct mds_body *)0)->io_epoch) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->io_epoch));
-        LASSERTF((int)offsetof(struct mds_body, ino) == 64, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, ino) == 96, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, ino));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->ino) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->ino) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->ino));
-        LASSERTF((int)offsetof(struct mds_body, valid) == 68, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, valid) == 40, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, valid));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->valid) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->valid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->valid));
-        LASSERTF((int)offsetof(struct mds_body, fsuid) == 72, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, fsuid) == 104, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fsuid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->fsuid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->fsuid));
-        LASSERTF((int)offsetof(struct mds_body, fsgid) == 76, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, fsgid) == 108, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fsgid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->fsgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->fsgid));
-        LASSERTF((int)offsetof(struct mds_body, capability) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, capability) == 112, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, capability));
         LASSERTF((int)sizeof(((struct mds_body *)0)->capability) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->capability));
-        LASSERTF((int)offsetof(struct mds_body, mode) == 84, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, mode) == 116, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, mode));
         LASSERTF((int)sizeof(((struct mds_body *)0)->mode) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->mode));
-        LASSERTF((int)offsetof(struct mds_body, uid) == 88, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, uid) == 120, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, uid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->uid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->uid));
-        LASSERTF((int)offsetof(struct mds_body, gid) == 92, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, gid) == 124, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, gid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->gid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->gid));
-        LASSERTF((int)offsetof(struct mds_body, mtime) == 96, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, mtime) == 56, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, mtime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->mtime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->mtime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->mtime));
-        LASSERTF((int)offsetof(struct mds_body, ctime) == 100, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, ctime) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, ctime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->ctime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->ctime));
-        LASSERTF((int)offsetof(struct mds_body, atime) == 104, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, atime) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, atime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->atime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->atime));
-        LASSERTF((int)offsetof(struct mds_body, flags) == 108, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, flags) == 128, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, flags));
         LASSERTF((int)sizeof(((struct mds_body *)0)->flags) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->flags));
-        LASSERTF((int)offsetof(struct mds_body, rdev) == 112, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, rdev) == 132, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, rdev));
         LASSERTF((int)sizeof(((struct mds_body *)0)->rdev) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->rdev));
-        LASSERTF((int)offsetof(struct mds_body, nlink) == 116, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, nlink) == 136, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, nlink));
         LASSERTF((int)sizeof(((struct mds_body *)0)->nlink) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->nlink));
-        LASSERTF((int)offsetof(struct mds_body, generation) == 120, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, generation) == 140, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, generation));
         LASSERTF((int)sizeof(((struct mds_body *)0)->generation) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->generation));
-        LASSERTF((int)offsetof(struct mds_body, suppgid) == 124, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, suppgid) == 144, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, suppgid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->suppgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->suppgid));
-        LASSERTF((int)offsetof(struct mds_body, eadatasize) == 128, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, eadatasize) == 148, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, eadatasize));
         LASSERTF((int)sizeof(((struct mds_body *)0)->eadatasize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->eadatasize));
@@ -1451,7 +1611,7 @@ void lustre_assert_wire_constants(void)
                  (long long)MDS_OPEN_HAS_EA);
 
         /* Checks for struct mds_rec_setattr */
-        LASSERTF((int)sizeof(struct mds_rec_setattr) == 88, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_setattr) == 96, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_setattr));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_opcode));
@@ -1473,49 +1633,49 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_suppgid));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_suppgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_suppgid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_valid) == 20, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_valid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_valid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_valid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mode) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mode));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mode));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_fid) == 24, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_fid));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_fid) == 16, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_fid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mode) == 40, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mode));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mode) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mode));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_uid) == 44, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_uid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_uid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_uid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_gid) == 48, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_gid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_gid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_gid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_attr_flags) == 52, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_attr_flags));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_size) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_valid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_valid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_valid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_size) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_size));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_size));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mtime) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mtime));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_atime) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_atime));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_atime));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mtime) == 72, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mtime));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime) == 8, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_ctime) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_ctime) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_ctime));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_ctime));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_uid) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_uid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_uid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_gid) == 84, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_gid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_gid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_attr_flags) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_attr_flags));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags));
 
         /* Checks for struct mds_rec_create */
-        LASSERTF((int)sizeof(struct mds_rec_create) == 80, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_create) == 96, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_create));
         LASSERTF((int)offsetof(struct mds_rec_create, cr_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_create, cr_opcode));
@@ -1563,7 +1723,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_create *)0)->cr_suppgid));
 
         /* Checks for struct mds_rec_link */
-        LASSERTF((int)sizeof(struct mds_rec_link) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_link) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_link));
         LASSERTF((int)offsetof(struct mds_rec_link, lk_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_link, lk_opcode));
@@ -1603,7 +1763,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_link *)0)->lk_time));
 
         /* Checks for struct mds_rec_unlink */
-        LASSERTF((int)sizeof(struct mds_rec_unlink) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_unlink) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_unlink));
         LASSERTF((int)offsetof(struct mds_rec_unlink, ul_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_unlink, ul_opcode));
@@ -1643,7 +1803,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_unlink *)0)->ul_time));
 
         /* Checks for struct mds_rec_rename */
-        LASSERTF((int)sizeof(struct mds_rec_rename) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_rename) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_rename));
         LASSERTF((int)offsetof(struct mds_rec_rename, rn_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_rename, rn_opcode));
@@ -1683,7 +1843,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_rename *)0)->rn_time));
 
         /* Checks for struct lov_desc */
-        LASSERTF((int)sizeof(struct lov_desc) == 72, " found %lld\n",
+        LASSERTF((int)sizeof(struct lov_desc) == 88, " found %lld\n",
                  (long long)(int)sizeof(struct lov_desc));
         LASSERTF((int)offsetof(struct lov_desc, ld_tgt_count) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct lov_desc, ld_tgt_count));
@@ -1709,7 +1869,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct lov_desc, ld_default_stripe_offset));
         LASSERTF((int)sizeof(((struct lov_desc *)0)->ld_default_stripe_offset) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct lov_desc *)0)->ld_default_stripe_offset));
-        LASSERTF((int)offsetof(struct lov_desc, ld_uuid) == 32, " found %lld\n",
+        LASSERTF((int)offsetof(struct lov_desc, ld_uuid) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct lov_desc, ld_uuid));
         LASSERTF((int)sizeof(((struct lov_desc *)0)->ld_uuid) == 40, " found %lld\n",
                  (long long)(int)sizeof(((struct lov_desc *)0)->ld_uuid));
@@ -2241,4 +2401,25 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct llogd_conn_body, lgdc_ctxt_idx));
         LASSERTF((int)sizeof(((struct llogd_conn_body *)0)->lgdc_ctxt_idx) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct llogd_conn_body *)0)->lgdc_ctxt_idx));
+
+        /* Checks for struct qunit_data */
+        LASSERTF((int)sizeof(struct qunit_data) == 16, " found %lld\n",
+                 (long long)(int)sizeof(struct qunit_data));
+        LASSERTF((int)offsetof(struct qunit_data, qd_id) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct qunit_data, qd_id));
+        LASSERTF((int)sizeof(((struct qunit_data *)0)->qd_id) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct qunit_data *)0)->qd_id));
+        LASSERTF((int)offsetof(struct qunit_data, qd_type) == 4, " found %lld\n",
+                 (long long)(int)offsetof(struct qunit_data, qd_type));
+        LASSERTF((int)sizeof(((struct qunit_data *)0)->qd_type) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct qunit_data *)0)->qd_type));
+        LASSERTF((int)offsetof(struct qunit_data, qd_count) == 8, " found %lld\n",
+                 (long long)(int)offsetof(struct qunit_data, qd_count));
+        LASSERTF((int)sizeof(((struct qunit_data *)0)->qd_count) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct qunit_data *)0)->qd_count));
+        LASSERTF((int)offsetof(struct qunit_data, qd_isblk) == 12, " found %lld\n",
+                 (long long)(int)offsetof(struct qunit_data, qd_isblk));
+        LASSERTF((int)sizeof(((struct qunit_data *)0)->qd_isblk) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct qunit_data *)0)->qd_isblk));
 }
+
index a1048cc..346a581 100644 (file)
@@ -163,7 +163,7 @@ char *obdo_print(struct obdo *obd)
         sprintf(buf, "id: "LPX64"\ngrp: "LPX64"\natime: "LPU64"\nmtime: "LPU64
                 "\nctime: "LPU64"\nsize: "LPU64"\nblocks: "LPU64
                 "\nblksize: %u\nmode: %o\nuid: %d\ngid: %d\nflags: %x\n"
-                "misc: %x\nnlink: %d,\nvalid %x\n",
+                "misc: %x\nnlink: %d,\nvalid "LPX64"\n",
                 obd->o_id, obd->o_gr, obd->o_atime, obd->o_mtime, obd->o_ctime,
                 obd->o_size, obd->o_blocks, obd->o_blksize, obd->o_mode,
                 obd->o_uid, obd->o_gid, obd->o_flags, obd->o_misc,
@@ -1047,7 +1047,7 @@ int jt_obd_create(int argc, char **argv)
                         break;
                 }
                 if (!(data.ioc_obdo1.o_valid & OBD_MD_FLID)) {
-                        fprintf(stderr, "error: %s: objid not valid #%d:%08x\n",
+                        fprintf(stderr,"error: %s: oid not valid #%d:"LPX64"\n",
                                 jt_cmdname(argv[0]), i, data.ioc_obdo1.o_valid);
                         rc = EINVAL;
                         break;
index a301783..70de0ad 100644 (file)
@@ -30,8 +30,15 @@ do {                                                            \
 #define CHECK_VALUE(a)                                          \
 do {                                                            \
         printf("        LASSERTF("#a                            \
-               " == %d, \" found %%lld\\n\",\n                 "\
-               "(long long)"#a");\n",a);\
+               " == %lld, \" found %%lld\\n\",\n                 "\
+               "(long long)"#a");\n", (long long)a);            \
+} while(0)
+
+#define CHECK_VALUE_64(a)                                       \
+do {                                                            \
+        printf("        LASSERTF("#a                            \
+               " == %lldULL, \" found %%lld\\n\",\n                 "\
+               "(long long)"#a");\n", (long long)a);            \
 } while(0)
 
 #define CHECK_MEMBER_OFFSET(s,m)                                \
@@ -98,8 +105,10 @@ check_obdo(void)
 {
         BLANK_LINE();
         CHECK_STRUCT(obdo);
+        CHECK_MEMBER(obdo, o_valid);
         CHECK_MEMBER(obdo, o_id);
         CHECK_MEMBER(obdo, o_gr);
+        CHECK_MEMBER(obdo, o_fid);
         CHECK_MEMBER(obdo, o_size);
         CHECK_MEMBER(obdo, o_mtime);
         CHECK_MEMBER(obdo, o_atime);
@@ -113,11 +122,13 @@ check_obdo(void)
         CHECK_MEMBER(obdo, o_flags);
         CHECK_MEMBER(obdo, o_nlink);
         CHECK_MEMBER(obdo, o_generation);
-        CHECK_MEMBER(obdo, o_valid);
         CHECK_MEMBER(obdo, o_misc);
         CHECK_MEMBER(obdo, o_easize);
+        CHECK_MEMBER(obdo, o_mds);
         CHECK_MEMBER(obdo, o_inline);
 
+        CHECK_VALUE(OBD_INLINESZ);
+
         CHECK_VALUE(OBD_MD_FLID);
         CHECK_VALUE(OBD_MD_FLATIME);
         CHECK_VALUE(OBD_MD_FLMTIME);
@@ -139,12 +150,26 @@ check_obdo(void)
         CHECK_VALUE(OBD_MD_FLHANDLE);
         CHECK_VALUE(OBD_MD_FLCKSUM);
         CHECK_VALUE(OBD_MD_FLQOS);
-        CHECK_VALUE(OBD_MD_FLOSCOPQ);
         CHECK_VALUE(OBD_MD_FLCOOKIE);
         CHECK_VALUE(OBD_MD_FLGROUP);
-
+        CHECK_VALUE(OBD_MD_FLIFID);
+        CHECK_VALUE(OBD_MD_FLEPOCH);
+        CHECK_VALUE(OBD_MD_FLGRANT);
+        CHECK_VALUE(OBD_MD_FLDIREA);
+        CHECK_VALUE(OBD_MD_FLUSRQUOTA);
+        CHECK_VALUE(OBD_MD_FLGRPQUOTA);
+        CHECK_VALUE_64(OBD_MD_MDS);
+        CHECK_VALUE_64(OBD_MD_REINT);
+
+        CHECK_VALUE(OBD_FL_INLINEDATA);
+        CHECK_VALUE(OBD_FL_OBDMDEXISTS);
         CHECK_VALUE(OBD_FL_DELORPHAN);
+        CHECK_VALUE(OBD_FL_NORPC);
+        CHECK_VALUE(OBD_FL_IDONLY);
         CHECK_VALUE(OBD_FL_RECREATE_OBJS);
+        CHECK_VALUE(OBD_FL_DEBUG_CHECK);
+        CHECK_VALUE(OBD_FL_NO_USRQUOTA);
+        CHECK_VALUE(OBD_FL_NO_GRPQUOTA);
 }
 
 void
@@ -326,16 +351,16 @@ check_mds_rec_setattr(void)
         CHECK_MEMBER(mds_rec_setattr, sa_fsgid);
         CHECK_MEMBER(mds_rec_setattr, sa_cap);
         CHECK_MEMBER(mds_rec_setattr, sa_suppgid);
-        CHECK_MEMBER(mds_rec_setattr, sa_valid);
-        CHECK_MEMBER(mds_rec_setattr, sa_fid);
         CHECK_MEMBER(mds_rec_setattr, sa_mode);
-        CHECK_MEMBER(mds_rec_setattr, sa_uid);
-        CHECK_MEMBER(mds_rec_setattr, sa_gid);
-        CHECK_MEMBER(mds_rec_setattr, sa_attr_flags);
+        CHECK_MEMBER(mds_rec_setattr, sa_fid);
+        CHECK_MEMBER(mds_rec_setattr, sa_valid);
         CHECK_MEMBER(mds_rec_setattr, sa_size);
-        CHECK_MEMBER(mds_rec_setattr, sa_atime);
         CHECK_MEMBER(mds_rec_setattr, sa_mtime);
+        CHECK_MEMBER(mds_rec_setattr, sa_atime);
         CHECK_MEMBER(mds_rec_setattr, sa_ctime);
+        CHECK_MEMBER(mds_rec_setattr, sa_uid);
+        CHECK_MEMBER(mds_rec_setattr, sa_gid);
+        CHECK_MEMBER(mds_rec_setattr, sa_attr_flags);
 }
 
 void
index 4c20368..454a585 100644 (file)
@@ -25,8 +25,8 @@ int main()
 void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
-         * running on Linux localhost.localdomain 2.4.20-8 #3 Ã‹Ã„ 9Ô 23 15:12:02 CST 2004 i686 i686 i
-         * with gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) */
+         * running on Linux schnapps.adilger.int 2.4.28 #2 Thu Dec 16 14:35:03 MST 2004 i686 i686 i38
+         * with gcc version 3.3.2 20040108 (Red Hat Linux 3.3.2-6) */
 
 
         /* Constants... */
@@ -142,7 +142,7 @@ void lustre_assert_wire_constants(void)
                  (long long)REINT_RENAME);
         LASSERTF(REINT_OPEN == 6, " found %lld\n",
                  (long long)REINT_OPEN);
-        LASSERTF(REINT_MAX == 6, " found %lld\n",
+        LASSERTF(REINT_MAX == 7, " found %lld\n",
                  (long long)REINT_MAX);
         LASSERTF(DISP_IT_EXECD == 1, " found %lld\n",
                  (long long)DISP_IT_EXECD);
@@ -282,84 +282,94 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct lustre_msg *)0)->buflens[7]));
 
         /* Checks for struct obdo */
-        LASSERTF((int)sizeof(struct obdo) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(struct obdo) == 208, " found %lld\n",
                  (long long)(int)sizeof(struct obdo));
-        LASSERTF((int)offsetof(struct obdo, o_id) == 0, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_valid) == 0, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_valid));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
+        LASSERTF((int)offsetof(struct obdo, o_id) == 8, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_id));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_id) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_id));
-        LASSERTF((int)offsetof(struct obdo, o_gr) == 8, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_gr) == 16, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_gr));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_gr) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_gr));
-        LASSERTF((int)offsetof(struct obdo, o_size) == 16, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_fid) == 24, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_fid));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_fid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_fid));
+        LASSERTF((int)offsetof(struct obdo, o_size) == 32, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_size));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_size));
-        LASSERTF((int)offsetof(struct obdo, o_mtime) == 24, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mtime) == 40, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_mtime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_mtime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_mtime));
-        LASSERTF((int)offsetof(struct obdo, o_atime) == 32, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_atime) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_atime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_atime));
-        LASSERTF((int)offsetof(struct obdo, o_ctime) == 40, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_ctime) == 56, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_ctime));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_ctime));
-        LASSERTF((int)offsetof(struct obdo, o_blocks) == 48, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_blocks) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_blocks));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_blocks) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_blocks));
-        LASSERTF((int)offsetof(struct obdo, o_grant) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_grant) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_grant));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_grant) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_grant));
-        LASSERTF((int)offsetof(struct obdo, o_blksize) == 64, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_blksize) == 80, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_blksize));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_blksize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_blksize));
-        LASSERTF((int)offsetof(struct obdo, o_mode) == 68, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mode) == 84, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_mode));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_mode) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_mode));
-        LASSERTF((int)offsetof(struct obdo, o_uid) == 72, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_uid) == 88, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_uid));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_uid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_uid));
-        LASSERTF((int)offsetof(struct obdo, o_gid) == 76, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_gid) == 92, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_gid));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_gid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_gid));
-        LASSERTF((int)offsetof(struct obdo, o_flags) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_flags) == 96, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_flags));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_flags) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_flags));
-        LASSERTF((int)offsetof(struct obdo, o_nlink) == 84, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_nlink) == 100, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_nlink));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_nlink) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_nlink));
-        LASSERTF((int)offsetof(struct obdo, o_generation) == 88, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_generation) == 104, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_generation));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_generation) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_generation));
-        LASSERTF((int)offsetof(struct obdo, o_valid) == 92, " found %lld\n",
-                 (long long)(int)offsetof(struct obdo, o_valid));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_valid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct obdo *)0)->o_valid));
-        LASSERTF((int)offsetof(struct obdo, o_misc) == 96, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_misc) == 108, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_misc));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_misc) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_misc));
-        LASSERTF((int)offsetof(struct obdo, o_easize) == 100, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_easize) == 112, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_easize));
         LASSERTF((int)sizeof(((struct obdo *)0)->o_easize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_easize));
-        LASSERTF((int)offsetof(struct obdo, o_inline) == 104, " found %lld\n",
+        LASSERTF((int)offsetof(struct obdo, o_mds) == 116, " found %lld\n",
+                 (long long)(int)offsetof(struct obdo, o_mds));
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_mds) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct obdo *)0)->o_mds));
+        LASSERTF((int)offsetof(struct obdo, o_inline) == 128, " found %lld\n",
                  (long long)(int)offsetof(struct obdo, o_inline));
-        LASSERTF((int)sizeof(((struct obdo *)0)->o_inline) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(((struct obdo *)0)->o_inline) == 80, " found %lld\n",
                  (long long)(int)sizeof(((struct obdo *)0)->o_inline));
+        LASSERTF(OBD_INLINESZ == 80, " found %lld\n",
+                 (long long)OBD_INLINESZ);
         LASSERTF(OBD_MD_FLID == 1, " found %lld\n",
                  (long long)OBD_MD_FLID);
         LASSERTF(OBD_MD_FLATIME == 2, " found %lld\n",
@@ -402,16 +412,44 @@ void lustre_assert_wire_constants(void)
                  (long long)OBD_MD_FLCKSUM);
         LASSERTF(OBD_MD_FLQOS == 2097152, " found %lld\n",
                  (long long)OBD_MD_FLQOS);
-        LASSERTF(OBD_MD_FLOSCOPQ == 4194304, " found %lld\n",
-                 (long long)OBD_MD_FLOSCOPQ);
         LASSERTF(OBD_MD_FLCOOKIE == 8388608, " found %lld\n",
                  (long long)OBD_MD_FLCOOKIE);
         LASSERTF(OBD_MD_FLGROUP == 16777216, " found %lld\n",
                  (long long)OBD_MD_FLGROUP);
+        LASSERTF(OBD_MD_FLIFID == 33554432, " found %lld\n",
+                 (long long)OBD_MD_FLIFID);
+        LASSERTF(OBD_MD_FLEPOCH == 67108864, " found %lld\n",
+                 (long long)OBD_MD_FLEPOCH);
+        LASSERTF(OBD_MD_FLGRANT == 134217728, " found %lld\n",
+                 (long long)OBD_MD_FLGRANT);
+        LASSERTF(OBD_MD_FLDIREA == 268435456, " found %lld\n",
+                 (long long)OBD_MD_FLDIREA);
+        LASSERTF(OBD_MD_FLUSRQUOTA == 536870912, " found %lld\n",
+                 (long long)OBD_MD_FLUSRQUOTA);
+        LASSERTF(OBD_MD_FLGRPQUOTA == 1073741824, " found %lld\n",
+                 (long long)OBD_MD_FLGRPQUOTA);
+        LASSERTF(OBD_MD_MDS == 4294967296ULL, " found %lld\n",
+                 (long long)OBD_MD_MDS);
+        LASSERTF(OBD_MD_REINT == 8589934592ULL, " found %lld\n",
+                 (long long)OBD_MD_REINT);
+        LASSERTF(OBD_FL_INLINEDATA == 1, " found %lld\n",
+                 (long long)OBD_FL_INLINEDATA);
+        LASSERTF(OBD_FL_OBDMDEXISTS == 2, " found %lld\n",
+                 (long long)OBD_FL_OBDMDEXISTS);
         LASSERTF(OBD_FL_DELORPHAN == 4, " found %lld\n",
                  (long long)OBD_FL_DELORPHAN);
+        LASSERTF(OBD_FL_NORPC == 8, " found %lld\n",
+                 (long long)OBD_FL_NORPC);
+        LASSERTF(OBD_FL_IDONLY == 16, " found %lld\n",
+                 (long long)OBD_FL_IDONLY);
         LASSERTF(OBD_FL_RECREATE_OBJS == 32, " found %lld\n",
                  (long long)OBD_FL_RECREATE_OBJS);
+        LASSERTF(OBD_FL_DEBUG_CHECK == 64, " found %lld\n",
+                 (long long)OBD_FL_DEBUG_CHECK);
+        LASSERTF(OBD_FL_NO_USRQUOTA == 256, " found %lld\n",
+                 (long long)OBD_FL_NO_USRQUOTA);
+        LASSERTF(OBD_FL_NO_GRPQUOTA == 512, " found %lld\n",
+                 (long long)OBD_FL_NO_GRPQUOTA);
 
         /* Checks for struct lov_mds_md_v1 */
         LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, " found %lld\n",
@@ -644,11 +682,11 @@ void lustre_assert_wire_constants(void)
                  (long long)OBD_BRW_FROM_GRANT);
 
         /* Checks for struct ost_body */
-        LASSERTF((int)sizeof(struct ost_body) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(struct ost_body) == 208, " found %lld\n",
                  (long long)(int)sizeof(struct ost_body));
         LASSERTF((int)offsetof(struct ost_body, oa) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct ost_body, oa));
-        LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 168, " found %lld\n",
+        LASSERTF((int)sizeof(((struct ost_body *)0)->oa) == 208, " found %lld\n",
                  (long long)(int)sizeof(((struct ost_body *)0)->oa));
 
         /* Checks for struct ll_fid */
@@ -680,7 +718,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_status_req *)0)->repbuf));
 
         /* Checks for struct mds_body */
-        LASSERTF((int)sizeof(struct mds_body) == 136, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_body) == 168, " found %lld\n",
                  (long long)(int)sizeof(struct mds_body));
         LASSERTF((int)offsetof(struct mds_body, fid1) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fid1));
@@ -694,83 +732,83 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct mds_body, handle));
         LASSERTF((int)sizeof(((struct mds_body *)0)->handle) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->handle));
-        LASSERTF((int)offsetof(struct mds_body, size) == 40, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, size) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, size));
         LASSERTF((int)sizeof(((struct mds_body *)0)->size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->size));
-        LASSERTF((int)offsetof(struct mds_body, blocks) == 48, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, blocks) == 80, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, blocks));
         LASSERTF((int)sizeof(((struct mds_body *)0)->blocks) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->blocks));
-        LASSERTF((int)offsetof(struct mds_body, io_epoch) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, io_epoch) == 88, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, io_epoch));
         LASSERTF((int)sizeof(((struct mds_body *)0)->io_epoch) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->io_epoch));
-        LASSERTF((int)offsetof(struct mds_body, ino) == 64, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, ino) == 96, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, ino));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->ino) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->ino) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->ino));
-        LASSERTF((int)offsetof(struct mds_body, valid) == 68, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, valid) == 40, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, valid));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->valid) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->valid) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->valid));
-        LASSERTF((int)offsetof(struct mds_body, fsuid) == 72, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, fsuid) == 104, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fsuid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->fsuid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->fsuid));
-        LASSERTF((int)offsetof(struct mds_body, fsgid) == 76, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, fsgid) == 108, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, fsgid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->fsgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->fsgid));
-        LASSERTF((int)offsetof(struct mds_body, capability) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, capability) == 112, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, capability));
         LASSERTF((int)sizeof(((struct mds_body *)0)->capability) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->capability));
-        LASSERTF((int)offsetof(struct mds_body, mode) == 84, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, mode) == 116, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, mode));
         LASSERTF((int)sizeof(((struct mds_body *)0)->mode) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->mode));
-        LASSERTF((int)offsetof(struct mds_body, uid) == 88, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, uid) == 120, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, uid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->uid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->uid));
-        LASSERTF((int)offsetof(struct mds_body, gid) == 92, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, gid) == 124, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, gid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->gid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->gid));
-        LASSERTF((int)offsetof(struct mds_body, mtime) == 96, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, mtime) == 56, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, mtime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->mtime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->mtime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->mtime));
-        LASSERTF((int)offsetof(struct mds_body, ctime) == 100, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, ctime) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, ctime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->ctime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->ctime));
-        LASSERTF((int)offsetof(struct mds_body, atime) == 104, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, atime) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, atime));
-        LASSERTF((int)sizeof(((struct mds_body *)0)->atime) == 4, " found %lld\n",
+        LASSERTF((int)sizeof(((struct mds_body *)0)->atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->atime));
-        LASSERTF((int)offsetof(struct mds_body, flags) == 108, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, flags) == 128, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, flags));
         LASSERTF((int)sizeof(((struct mds_body *)0)->flags) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->flags));
-        LASSERTF((int)offsetof(struct mds_body, rdev) == 112, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, rdev) == 132, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, rdev));
         LASSERTF((int)sizeof(((struct mds_body *)0)->rdev) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->rdev));
-        LASSERTF((int)offsetof(struct mds_body, nlink) == 116, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, nlink) == 136, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, nlink));
         LASSERTF((int)sizeof(((struct mds_body *)0)->nlink) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->nlink));
-        LASSERTF((int)offsetof(struct mds_body, generation) == 120, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, generation) == 140, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, generation));
         LASSERTF((int)sizeof(((struct mds_body *)0)->generation) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->generation));
-        LASSERTF((int)offsetof(struct mds_body, suppgid) == 124, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, suppgid) == 144, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, suppgid));
         LASSERTF((int)sizeof(((struct mds_body *)0)->suppgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->suppgid));
-        LASSERTF((int)offsetof(struct mds_body, eadatasize) == 128, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_body, eadatasize) == 148, " found %lld\n",
                  (long long)(int)offsetof(struct mds_body, eadatasize));
         LASSERTF((int)sizeof(((struct mds_body *)0)->eadatasize) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_body *)0)->eadatasize));
@@ -798,7 +836,7 @@ void lustre_assert_wire_constants(void)
                  (long long)MDS_OPEN_HAS_EA);
 
         /* Checks for struct mds_rec_setattr */
-        LASSERTF((int)sizeof(struct mds_rec_setattr) == 88, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_setattr) == 96, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_setattr));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_opcode));
@@ -820,49 +858,49 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_suppgid));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_suppgid) == 4, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_suppgid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_valid) == 20, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_valid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_valid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_valid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mode) == 20, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mode));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mode) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mode));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_fid) == 24, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_fid));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_fid) == 16, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_fid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mode) == 40, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mode));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mode) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mode));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_uid) == 44, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_uid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_uid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_uid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_gid) == 48, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_gid));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_gid) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_gid));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_attr_flags) == 52, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_attr_flags));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags) == 4, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_size) == 56, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_valid) == 40, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_valid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_valid) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_valid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_size) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_size));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_size) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_size));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mtime) == 56, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mtime));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime) == 8, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime));
         LASSERTF((int)offsetof(struct mds_rec_setattr, sa_atime) == 64, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_atime));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_atime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_atime));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_mtime) == 72, " found %lld\n",
-                 (long long)(int)offsetof(struct mds_rec_setattr, sa_mtime));
-        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime) == 8, " found %lld\n",
-                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_mtime));
-        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_ctime) == 80, " found %lld\n",
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_ctime) == 72, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_setattr, sa_ctime));
         LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_ctime) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_ctime));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_uid) == 80, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_uid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_uid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_uid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_gid) == 84, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_gid));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_gid) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_gid));
+        LASSERTF((int)offsetof(struct mds_rec_setattr, sa_attr_flags) == 88, " found %lld\n",
+                 (long long)(int)offsetof(struct mds_rec_setattr, sa_attr_flags));
+        LASSERTF((int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags) == 4, " found %lld\n",
+                 (long long)(int)sizeof(((struct mds_rec_setattr *)0)->sa_attr_flags));
 
         /* Checks for struct mds_rec_create */
-        LASSERTF((int)sizeof(struct mds_rec_create) == 80, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_create) == 96, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_create));
         LASSERTF((int)offsetof(struct mds_rec_create, cr_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_create, cr_opcode));
@@ -910,7 +948,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_create *)0)->cr_suppgid));
 
         /* Checks for struct mds_rec_link */
-        LASSERTF((int)sizeof(struct mds_rec_link) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_link) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_link));
         LASSERTF((int)offsetof(struct mds_rec_link, lk_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_link, lk_opcode));
@@ -950,7 +988,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_link *)0)->lk_time));
 
         /* Checks for struct mds_rec_unlink */
-        LASSERTF((int)sizeof(struct mds_rec_unlink) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_unlink) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_unlink));
         LASSERTF((int)offsetof(struct mds_rec_unlink, ul_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_unlink, ul_opcode));
@@ -990,7 +1028,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_unlink *)0)->ul_time));
 
         /* Checks for struct mds_rec_rename */
-        LASSERTF((int)sizeof(struct mds_rec_rename) == 64, " found %lld\n",
+        LASSERTF((int)sizeof(struct mds_rec_rename) == 80, " found %lld\n",
                  (long long)(int)sizeof(struct mds_rec_rename));
         LASSERTF((int)offsetof(struct mds_rec_rename, rn_opcode) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct mds_rec_rename, rn_opcode));
@@ -1030,7 +1068,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)sizeof(((struct mds_rec_rename *)0)->rn_time));
 
         /* Checks for struct lov_desc */
-        LASSERTF((int)sizeof(struct lov_desc) == 72, " found %lld\n",
+        LASSERTF((int)sizeof(struct lov_desc) == 88, " found %lld\n",
                  (long long)(int)sizeof(struct lov_desc));
         LASSERTF((int)offsetof(struct lov_desc, ld_tgt_count) == 0, " found %lld\n",
                  (long long)(int)offsetof(struct lov_desc, ld_tgt_count));
@@ -1056,7 +1094,7 @@ void lustre_assert_wire_constants(void)
                  (long long)(int)offsetof(struct lov_desc, ld_default_stripe_offset));
         LASSERTF((int)sizeof(((struct lov_desc *)0)->ld_default_stripe_offset) == 8, " found %lld\n",
                  (long long)(int)sizeof(((struct lov_desc *)0)->ld_default_stripe_offset));
-        LASSERTF((int)offsetof(struct lov_desc, ld_uuid) == 32, " found %lld\n",
+        LASSERTF((int)offsetof(struct lov_desc, ld_uuid) == 48, " found %lld\n",
                  (long long)(int)offsetof(struct lov_desc, ld_uuid));
         LASSERTF((int)sizeof(((struct lov_desc *)0)->ld_uuid) == 40, " found %lld\n",
                  (long long)(int)sizeof(((struct lov_desc *)0)->ld_uuid));