# include <liblustre.h>
#endif
+#ifdef __KERNEL__
+# ifndef AUTOCONF_INCLUDED
+# include <linux/config.h>
+# endif
+# ifdef CONFIG_FS_POSIX_ACL
+# include <linux/fs.h>
+# ifdef HAVE_XATTR_ACL
+# include <linux/xattr_acl.h>
+# else
+# define xattr_acl_entry posix_acl_xattr_entry
+# define xattr_acl_header posix_acl_xattr_header
+# endif
+# ifdef HAVE_LINUX_POSIX_ACL_XATTR_H
+# include <linux/posix_acl_xattr.h>
+# endif
+# endif
+#endif
+
#include <obd_support.h>
#include <obd_class.h>
#include <lustre_net.h>
{
/* Wire protocol assertions generated by 'wirecheck'
* (make -C lustre/utils newwirecheck)
- * running on Linux duplo 2.6.17.3 #4 Wed Oct 18 02:46:08 MSD 2006 i686 unknown unknown GNU/L
- * with gcc version 3.4.6 */
+ * running on Linux rhel5.vbox 2.6.18-prep #1 SMP Fri Feb 22 14:24:02 EET 2008 i686 i686 i386
+ * with gcc version 4.1.2 20070626 (Red Hat 4.1.2-14) */
/* Constants... */
- LASSERTF(LUSTRE_MSG_MAGIC_V1 == 0x0BD00BD0," found %lld\n",
- (long long)LUSTRE_MSG_MAGIC_V1);
LASSERTF(LUSTRE_MSG_MAGIC_V2 == 0x0BD00BD3," found %lld\n",
(long long)LUSTRE_MSG_MAGIC_V2);
LASSERTF(PTLRPC_MSG_VERSION == 0x00000003," found %lld\n",
(long long)REINT_RENAME);
LASSERTF(REINT_OPEN == 6, " found %lld\n",
(long long)REINT_OPEN);
- LASSERTF(REINT_MAX == 7, " found %lld\n",
+ LASSERTF(REINT_MAX == 8, " found %lld\n",
(long long)REINT_MAX);
LASSERTF(MGS_CONNECT == 250, " found %lld\n",
(long long)MGS_CONNECT);
(long long)MGS_TARGET_REG);
LASSERTF(MGS_TARGET_DEL == 254, " found %lld\n",
(long long)MGS_TARGET_DEL);
+ LASSERTF(MGS_SET_INFO == 255, " found %lld\n",
+ (long long)MGS_SET_INFO);
LASSERTF(DISP_IT_EXECD == 1, " found %lld\n",
(long long)DISP_IT_EXECD);
LASSERTF(DISP_LOOKUP_EXECD == 2, " found %lld\n",
(long long)MGS_TARGET_REG);
LASSERTF(MGS_TARGET_DEL == 254, " found %lld\n",
(long long)MGS_TARGET_DEL);
+ LASSERTF(MGS_SET_INFO == 255, " found %lld\n",
+ (long long)MGS_SET_INFO);
/* Sizes and Offsets */
/* Checks for struct obd_uuid */
LASSERTF((int)sizeof(((struct lustre_handle *)0)->cookie) == 8, " found %lld\n",
(long long)(int)sizeof(((struct lustre_handle *)0)->cookie));
- /* Checks for struct lustre_msg_v1 */
- LASSERTF((int)sizeof(struct lustre_msg_v1) == 64, " found %lld\n",
- (long long)(int)sizeof(struct lustre_msg_v1));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_handle) == 0, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_handle));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_handle) == 8, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_handle));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_magic) == 8, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_magic));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_magic) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_magic));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_type) == 12, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_type));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_type) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_type));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_version) == 16, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_version));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_version) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_version));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_opc) == 20, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_opc));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_opc) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_opc));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_last_xid) == 24, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_last_xid));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_last_xid) == 8, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_last_xid));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_last_committed) == 32, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_last_committed));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_last_committed) == 8, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_last_committed));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_transno) == 40, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_transno));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_transno) == 8, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_transno));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_status) == 48, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_status));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_status) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_status));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_flags) == 52, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_flags));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_flags) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_flags));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_conn_cnt) == 56, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_conn_cnt));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_conn_cnt) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_conn_cnt));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_bufcount) == 60, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_bufcount));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_bufcount) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_bufcount));
- LASSERTF((int)offsetof(struct lustre_msg_v1, lm_buflens[0]) == 64, " found %lld\n",
- (long long)(int)offsetof(struct lustre_msg_v1, lm_buflens[0]));
- LASSERTF((int)sizeof(((struct lustre_msg_v1 *)0)->lm_buflens[0]) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct lustre_msg_v1 *)0)->lm_buflens[0]));
-
/* Checks for struct lustre_msg_v2 */
LASSERTF((int)sizeof(struct lustre_msg_v2) == 32, " found %lld\n",
(long long)(int)sizeof(struct lustre_msg_v2));
(long long)(int)offsetof(struct lustre_msg_v2, lm_buflens[0]));
LASSERTF((int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]) == 4, " found %lld\n",
(long long)(int)sizeof(((struct lustre_msg_v2 *)0)->lm_buflens[0]));
- LASSERT(offsetof(struct lustre_msg_v1, lm_magic) == offsetof(struct lustre_msg_v2, lm_magic));
/* Checks for struct ptlrpc_body */
LASSERTF((int)sizeof(struct ptlrpc_body) == 88, " found %lld\n",
(long long)(int)offsetof(struct ptlrpc_body, pb_padding_2));
LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding_2) == 4, " found %lld\n",
(long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding_2));
- LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding_3) == 76, " found %lld\n",
- (long long)(int)offsetof(struct ptlrpc_body, pb_padding_3));
- LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding_3) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding_3));
- LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding_4) == 80, " found %lld\n",
- (long long)(int)offsetof(struct ptlrpc_body, pb_padding_4));
- LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding_4) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding_4));
- LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding_5) == 84, " found %lld\n",
- (long long)(int)offsetof(struct ptlrpc_body, pb_padding_5));
- LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding_5) == 4, " found %lld\n",
- (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding_5));
+ LASSERTF((int)offsetof(struct ptlrpc_body, pb_slv) == 80, " found %lld\n",
+ (long long)(int)offsetof(struct ptlrpc_body, pb_slv));
+ LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_slv) == 8, " found %lld\n",
+ (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_slv));
+ LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, " found %lld\n",
+ (long long)(int)offsetof(struct ptlrpc_body, pb_limit));
+ LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n",
+ (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit));
/* Checks for struct obd_connect_data */
LASSERTF((int)sizeof(struct obd_connect_data) == 72, " found %lld\n",
(long long)(int)offsetof(struct obd_connect_data, ocd_group));
LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_group) == 4, " found %lld\n",
(long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_group));
- LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 52, " found %lld\n",
+ LASSERTF((int)offsetof(struct obd_connect_data, ocd_cksum_types) == 52, " found %lld\n",
+ (long long)(int)offsetof(struct obd_connect_data, ocd_cksum_types));
+ LASSERTF((int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types) == 4, " found %lld\n",
+ (long long)(int)sizeof(((struct obd_connect_data *)0)->ocd_cksum_types));
+ LASSERTF((int)offsetof(struct obd_connect_data, padding1) == 56, " found %lld\n",
(long long)(int)offsetof(struct obd_connect_data, padding1));
- LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 4, " found %lld\n",
+ LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding1) == 8, " found %lld\n",
(long long)(int)sizeof(((struct obd_connect_data *)0)->padding1));
- LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 56, " found %lld\n",
+ LASSERTF((int)offsetof(struct obd_connect_data, padding2) == 64, " found %lld\n",
(long long)(int)offsetof(struct obd_connect_data, padding2));
LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding2) == 8, " found %lld\n",
(long long)(int)sizeof(((struct obd_connect_data *)0)->padding2));
- LASSERTF((int)offsetof(struct obd_connect_data, padding3) == 64, " found %lld\n",
- (long long)(int)offsetof(struct obd_connect_data, padding3));
- LASSERTF((int)sizeof(((struct obd_connect_data *)0)->padding3) == 8, " found %lld\n",
- (long long)(int)sizeof(((struct obd_connect_data *)0)->padding3));
CLASSERT(OBD_CONNECT_RDONLY == 0x00000001ULL);
CLASSERT(OBD_CONNECT_INDEX == 0x00000002ULL);
CLASSERT(OBD_CONNECT_GRANT == 0x00000008ULL);
CLASSERT(OBD_CONNECT_REQPORTAL == 0x00000040ULL);
CLASSERT(OBD_CONNECT_ACL == 0x00000080ULL);
CLASSERT(OBD_CONNECT_XATTR == 0x00000100ULL);
- CLASSERT(OBD_CONNECT_REAL == 0x00000200ULL);
+ CLASSERT(OBD_CONNECT_REAL == 0x08000000ULL);
+ CLASSERT(OBD_CONNECT_CKSUM == 0x20000000ULL);
CLASSERT(OBD_CONNECT_TRUNCLOCK == 0x00000400ULL);
CLASSERT(OBD_CONNECT_IBITS == 0x00001000ULL);
CLASSERT(OBD_CONNECT_JOIN == 0x00002000ULL);
CLASSERT(OBD_CONNECT_QUOTA64 == 0x00080000ULL);
CLASSERT(OBD_CONNECT_MDS_CAPA == 0x00100000ULL);
CLASSERT(OBD_CONNECT_OSS_CAPA == 0x00200000ULL);
- CLASSERT(OBD_CONNECT_MDS_MDS == 0x00400000ULL);
+ CLASSERT(OBD_CONNECT_MDS_MDS == 0x04000000ULL);
CLASSERT(OBD_CONNECT_SOM == 0x00800000ULL);
- CLASSERT(OBD_CONNECT_CANCELSET == 0x01000000ULL);
+ CLASSERT(OBD_CONNECT_AT == 0x01000000ULL);
+ CLASSERT(OBD_CONNECT_CANCELSET == 0x00400000ULL);
+ CLASSERT(OBD_CONNECT_LRU_RESIZE == 0x02000000ULL);
/* Checks for struct obdo */
LASSERTF((int)sizeof(struct obdo) == 208, " found %lld\n",
CLASSERT(OBD_FL_DEBUG_CHECK == (0x00000040));
CLASSERT(OBD_FL_NO_USRQUOTA == (0x00000100));
CLASSERT(OBD_FL_NO_GRPQUOTA == (0x00000200));
+ CLASSERT(OBD_FL_TRUNCLOCK == (0x00000800));
+ CLASSERT(OBD_FL_CKSUM_CRC32 == (0x00001000));
+ CLASSERT(OBD_FL_CKSUM_ADLER == (0x00002000));
+ CLASSERT(OBD_CKSUM_CRC32 == OBD_CKSUM_CRC32);
+ CLASSERT(OBD_CKSUM_ADLER == OBD_CKSUM_ADLER);
/* Checks for struct lov_mds_md_v1 */
LASSERTF((int)sizeof(struct lov_mds_md_v1) == 32, " 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));
+ CLASSERT(MDS_ATTR_MODE == 0x1ULL);
+ CLASSERT(MDS_ATTR_UID == 0x2ULL);
+ CLASSERT(MDS_ATTR_GID == 0x4ULL);
+ CLASSERT(MDS_ATTR_SIZE == 0x8ULL);
+ CLASSERT(MDS_ATTR_ATIME == 0x10ULL);
+ CLASSERT(MDS_ATTR_MTIME == 0x20ULL);
+ CLASSERT(MDS_ATTR_CTIME == 0x40ULL);
+ CLASSERT(MDS_ATTR_ATIME_SET == 0x80ULL);
+ CLASSERT(MDS_ATTR_MTIME_SET == 0x100ULL);
+ CLASSERT(MDS_ATTR_FORCE == 0x200ULL);
+ CLASSERT(MDS_ATTR_ATTR_FLAG == 0x400ULL);
+ CLASSERT(MDS_ATTR_KILL_SUID == 0x800ULL);
+ CLASSERT(MDS_ATTR_KILL_SGID == 0x1000ULL);
+ CLASSERT(MDS_ATTR_CTIME_SET == 0x2000ULL);
+ CLASSERT(MDS_ATTR_FROM_OPEN == 0x4000ULL);
+ CLASSERT(MDS_ATTR_BLOCKS == 0x8000ULL);
/* Checks for struct mds_rec_create */
LASSERTF((int)sizeof(struct mds_rec_create) == 96, " found %lld\n",
(long long)(int)offsetof(struct lustre_disk_data, ldd_params));
LASSERTF((int)sizeof(((struct lustre_disk_data *)0)->ldd_params) == 4096, " found %lld\n",
(long long)(int)sizeof(((struct lustre_disk_data *)0)->ldd_params));
+
+ /* Checks for type posix_acl_xattr_entry */
+ LASSERTF((int)sizeof(xattr_acl_entry) == 8, " found %lld\n",
+ (long long)(int)sizeof(xattr_acl_entry));
+ LASSERTF((int)offsetof(xattr_acl_entry, e_tag) == 0, " found %lld\n",
+ (long long)(int)offsetof(xattr_acl_entry, e_tag));
+ LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_tag) == 2, " found %lld\n",
+ (long long)(int)sizeof(((xattr_acl_entry *)0)->e_tag));
+ LASSERTF((int)offsetof(xattr_acl_entry, e_perm) == 2, " found %lld\n",
+ (long long)(int)offsetof(xattr_acl_entry, e_perm));
+ LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_perm) == 2, " found %lld\n",
+ (long long)(int)sizeof(((xattr_acl_entry *)0)->e_perm));
+ LASSERTF((int)offsetof(xattr_acl_entry, e_id) == 4, " found %lld\n",
+ (long long)(int)offsetof(xattr_acl_entry, e_id));
+ LASSERTF((int)sizeof(((xattr_acl_entry *)0)->e_id) == 4, " found %lld\n",
+ (long long)(int)sizeof(((xattr_acl_entry *)0)->e_id));
+
+ /* Checks for type posix_acl_xattr_header */
+ LASSERTF((int)sizeof(xattr_acl_header) == 4, " found %lld\n",
+ (long long)(int)sizeof(xattr_acl_header));
+ LASSERTF((int)offsetof(xattr_acl_header, a_version) == 0, " found %lld\n",
+ (long long)(int)offsetof(xattr_acl_header, a_version));
+ LASSERTF((int)sizeof(((xattr_acl_header *)0)->a_version) == 4, " found %lld\n",
+ (long long)(int)sizeof(((xattr_acl_header *)0)->a_version));
+ LASSERTF((int)offsetof(xattr_acl_header, a_entries) == 4, " found %lld\n",
+ (long long)(int)offsetof(xattr_acl_header, a_entries));
+ LASSERTF((int)sizeof(((xattr_acl_header *)0)->a_entries) == 0, " found %lld\n",
+ (long long)(int)sizeof(((xattr_acl_header *)0)->a_entries));
}