From 48d160756813875cf1889b4ce96493d25f96c726 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Sat, 20 Apr 2019 11:55:12 +0530 Subject: protocol: remove compound fop Compound fops are kept on wire as a backward compatibility with older AFR modules. The AFR module used beyond 4.x releases are not using compound fops. Hence removing the compound fop in the protocol code. Note that, compound-fops was already an 'option' in AFR, and completely removed since 4.1.x releases. So, point to note is, with this change, we have 2 ways to upgrade when clients of 3.x series are present. i) set 'use-compound-fops' option to 'false' on any volume which is of replica type. And then upgrade the servers. ii) Do a two step upgrade. First from current version (which will already be EOL if it's using compound) to a 4.1..6.x version, and then an upgrade to 7.x. Consider the overall code which we are removing for the option seems quite high, I believe it is worth it. updates: bz#1693692 Signed-off-by: Amar Tumballi Change-Id: I0a8876d0367a15e1410ec845f251d5d3097ee593 --- rpc/xdr/src/glusterfs3-xdr.x | 120 ------------------------------------------- rpc/xdr/src/glusterfs4-xdr.x | 120 ------------------------------------------- 2 files changed, 240 deletions(-) (limited to 'rpc/xdr') diff --git a/rpc/xdr/src/glusterfs3-xdr.x b/rpc/xdr/src/glusterfs3-xdr.x index 5e598869801..9db0a311159 100644 --- a/rpc/xdr/src/glusterfs3-xdr.x +++ b/rpc/xdr/src/glusterfs3-xdr.x @@ -859,126 +859,6 @@ struct gf_getsnap_name_uuid_rsp { opaque dict<>; }; -union compound_req switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfs3_stat_req compound_stat_req; - case GF_FOP_READLINK: gfs3_readlink_req compound_readlink_req; - case GF_FOP_MKNOD: gfs3_mknod_req compound_mknod_req; - case GF_FOP_MKDIR: gfs3_mkdir_req compound_mkdir_req; - case GF_FOP_UNLINK: gfs3_unlink_req compound_unlink_req; - case GF_FOP_RMDIR: gfs3_rmdir_req compound_rmdir_req; - case GF_FOP_SYMLINK: gfs3_symlink_req compound_symlink_req; - case GF_FOP_RENAME: gfs3_rename_req compound_rename_req; - case GF_FOP_LINK: gfs3_link_req compound_link_req; - case GF_FOP_TRUNCATE: gfs3_truncate_req compound_truncate_req; - case GF_FOP_OPEN: gfs3_open_req compound_open_req; - case GF_FOP_READ: gfs3_read_req compound_read_req; - case GF_FOP_WRITE: gfs3_write_req compound_write_req; - case GF_FOP_STATFS: gfs3_statfs_req compound_statfs_req; - case GF_FOP_FLUSH: gfs3_flush_req compound_flush_req; - case GF_FOP_FSYNC: gfs3_fsync_req compound_fsync_req; - case GF_FOP_GETXATTR: gfs3_getxattr_req compound_getxattr_req; - case GF_FOP_SETXATTR: gfs3_setxattr_req compound_setxattr_req; - case GF_FOP_REMOVEXATTR: gfs3_removexattr_req compound_removexattr_req; - case GF_FOP_OPENDIR: gfs3_opendir_req compound_opendir_req; - case GF_FOP_FSYNCDIR: gfs3_fsyncdir_req compound_fsyncdir_req; - case GF_FOP_ACCESS: gfs3_access_req compound_access_req; - case GF_FOP_CREATE: gfs3_create_req compound_create_req; - case GF_FOP_FTRUNCATE: gfs3_ftruncate_req compound_ftruncate_req; - case GF_FOP_FSTAT: gfs3_fstat_req compound_fstat_req; - case GF_FOP_LK: gfs3_lk_req compound_lk_req; - case GF_FOP_LOOKUP: gfs3_lookup_req compound_lookup_req; - case GF_FOP_READDIR: gfs3_readdir_req compound_readdir_req; - case GF_FOP_INODELK: gfs3_inodelk_req compound_inodelk_req; - case GF_FOP_FINODELK: gfs3_finodelk_req compound_finodelk_req; - case GF_FOP_ENTRYLK: gfs3_entrylk_req compound_entrylk_req; - case GF_FOP_FENTRYLK: gfs3_fentrylk_req compound_fentrylk_req; - case GF_FOP_XATTROP: gfs3_xattrop_req compound_xattrop_req; - case GF_FOP_FXATTROP: gfs3_fxattrop_req compound_fxattrop_req; - case GF_FOP_FGETXATTR: gfs3_fgetxattr_req compound_fgetxattr_req; - case GF_FOP_FSETXATTR: gfs3_fsetxattr_req compound_fsetxattr_req; - case GF_FOP_RCHECKSUM: gfs3_rchecksum_req compound_rchecksum_req; - case GF_FOP_SETATTR: gfs3_setattr_req compound_setattr_req; - case GF_FOP_FSETATTR: gfs3_fsetattr_req compound_fsetattr_req; - case GF_FOP_READDIRP: gfs3_readdirp_req compound_readdirp_req; - case GF_FOP_RELEASE: gfs3_release_req compound_release_req; - case GF_FOP_RELEASEDIR: gfs3_releasedir_req compound_releasedir_req; - case GF_FOP_FREMOVEXATTR: gfs3_fremovexattr_req compound_fremovexattr_req; - case GF_FOP_FALLOCATE: gfs3_fallocate_req compound_fallocate_req; - case GF_FOP_DISCARD: gfs3_discard_req compound_discard_req; - case GF_FOP_ZEROFILL: gfs3_zerofill_req compound_zerofill_req; - case GF_FOP_IPC: gfs3_ipc_req compound_ipc_req; - case GF_FOP_SEEK: gfs3_seek_req compound_seek_req; - case GF_FOP_LEASE: gfs3_lease_req compound_lease_req; - default: void; -}; - -struct gfs3_compound_req { - int compound_version; - glusterfs_compound_fop_t compound_fop_enum; - compound_req compound_req_array<>; - opaque xdata<>; -}; - -union compound_rsp switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfs3_stat_rsp compound_stat_rsp; - case GF_FOP_READLINK: gfs3_readlink_rsp compound_readlink_rsp; - case GF_FOP_MKNOD: gfs3_mknod_rsp compound_mknod_rsp; - case GF_FOP_MKDIR: gfs3_mkdir_rsp compound_mkdir_rsp; - case GF_FOP_UNLINK: gfs3_unlink_rsp compound_unlink_rsp; - case GF_FOP_RMDIR: gfs3_rmdir_rsp compound_rmdir_rsp; - case GF_FOP_SYMLINK: gfs3_symlink_rsp compound_symlink_rsp; - case GF_FOP_RENAME: gfs3_rename_rsp compound_rename_rsp; - case GF_FOP_LINK: gfs3_link_rsp compound_link_rsp; - case GF_FOP_TRUNCATE: gfs3_truncate_rsp compound_truncate_rsp; - case GF_FOP_OPEN: gfs3_open_rsp compound_open_rsp; - case GF_FOP_READ: gfs3_read_rsp compound_read_rsp; - case GF_FOP_WRITE: gfs3_write_rsp compound_write_rsp; - case GF_FOP_STATFS: gfs3_statfs_rsp compound_statfs_rsp; - case GF_FOP_FLUSH: gf_common_rsp compound_flush_rsp; - case GF_FOP_FSYNC: gfs3_fsync_rsp compound_fsync_rsp; - case GF_FOP_GETXATTR: gfs3_getxattr_rsp compound_getxattr_rsp; - case GF_FOP_SETXATTR: gf_common_rsp compound_setxattr_rsp; - case GF_FOP_REMOVEXATTR: gf_common_rsp compound_removexattr_rsp; - case GF_FOP_OPENDIR: gfs3_opendir_rsp compound_opendir_rsp; - case GF_FOP_FSYNCDIR: gf_common_rsp compound_fsyncdir_rsp; - case GF_FOP_ACCESS: gf_common_rsp compound_access_rsp; - case GF_FOP_CREATE: gfs3_create_rsp compound_create_rsp; - case GF_FOP_FTRUNCATE: gfs3_ftruncate_rsp compound_ftruncate_rsp; - case GF_FOP_FSTAT: gfs3_fstat_rsp compound_fstat_rsp; - case GF_FOP_LK: gfs3_lk_rsp compound_lk_rsp; - case GF_FOP_LOOKUP: gfs3_lookup_rsp compound_lookup_rsp; - case GF_FOP_READDIR: gfs3_readdir_rsp compound_readdir_rsp; - case GF_FOP_INODELK: gf_common_rsp compound_inodelk_rsp; - case GF_FOP_FINODELK: gf_common_rsp compound_finodelk_rsp; - case GF_FOP_ENTRYLK: gf_common_rsp compound_entrylk_rsp; - case GF_FOP_FENTRYLK: gf_common_rsp compound_fentrylk_rsp; - case GF_FOP_XATTROP: gfs3_xattrop_rsp compound_xattrop_rsp; - case GF_FOP_FXATTROP: gfs3_fxattrop_rsp compound_fxattrop_rsp; - case GF_FOP_FGETXATTR: gfs3_fgetxattr_rsp compound_fgetxattr_rsp; - case GF_FOP_FSETXATTR: gf_common_rsp compound_fsetxattr_rsp; - case GF_FOP_RCHECKSUM: gfs3_rchecksum_rsp compound_rchecksum_rsp; - case GF_FOP_SETATTR: gfs3_setattr_rsp compound_setattr_rsp; - case GF_FOP_FSETATTR: gfs3_fsetattr_rsp compound_fsetattr_rsp; - case GF_FOP_READDIRP: gfs3_readdirp_rsp compound_readdirp_rsp; - case GF_FOP_RELEASE: gf_common_rsp compound_release_rsp; - case GF_FOP_RELEASEDIR: gf_common_rsp compound_releasedir_rsp; - case GF_FOP_FREMOVEXATTR: gf_common_rsp compound_fremovexattr_rsp; - case GF_FOP_FALLOCATE: gfs3_fallocate_rsp compound_fallocate_rsp; - case GF_FOP_DISCARD: gfs3_discard_rsp compound_discard_rsp; - case GF_FOP_ZEROFILL: gfs3_zerofill_rsp compound_zerofill_rsp; - case GF_FOP_IPC: gfs3_ipc_rsp compound_ipc_rsp; - case GF_FOP_SEEK: gfs3_seek_rsp compound_seek_rsp; - case GF_FOP_LEASE: gfs3_lease_rsp compound_lease_rsp; - default: void; -}; - -struct gfs3_compound_rsp { - int op_ret; - int op_errno; - compound_rsp compound_rsp_array<>; - opaque xdata<>; -}; - struct gfs3_locklist { gf_proto_flock flock; string client_uid<>; diff --git a/rpc/xdr/src/glusterfs4-xdr.x b/rpc/xdr/src/glusterfs4-xdr.x index bec0872ec0e..6d13aafc9eb 100644 --- a/rpc/xdr/src/glusterfs4-xdr.x +++ b/rpc/xdr/src/glusterfs4-xdr.x @@ -769,126 +769,6 @@ struct gfx_setactivelk_req { gfx_dict xdata; }; -union compound_req_v2 switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfx_stat_req compound_stat_req; - case GF_FOP_READLINK: gfx_readlink_req compound_readlink_req; - case GF_FOP_MKNOD: gfx_mknod_req compound_mknod_req; - case GF_FOP_MKDIR: gfx_mkdir_req compound_mkdir_req; - case GF_FOP_UNLINK: gfx_unlink_req compound_unlink_req; - case GF_FOP_RMDIR: gfx_rmdir_req compound_rmdir_req; - case GF_FOP_SYMLINK: gfx_symlink_req compound_symlink_req; - case GF_FOP_RENAME: gfx_rename_req compound_rename_req; - case GF_FOP_LINK: gfx_link_req compound_link_req; - case GF_FOP_TRUNCATE: gfx_truncate_req compound_truncate_req; - case GF_FOP_OPEN: gfx_open_req compound_open_req; - case GF_FOP_READ: gfx_read_req compound_read_req; - case GF_FOP_WRITE: gfx_write_req compound_write_req; - case GF_FOP_STATFS: gfx_statfs_req compound_statfs_req; - case GF_FOP_FLUSH: gfx_flush_req compound_flush_req; - case GF_FOP_FSYNC: gfx_fsync_req compound_fsync_req; - case GF_FOP_GETXATTR: gfx_getxattr_req compound_getxattr_req; - case GF_FOP_SETXATTR: gfx_setxattr_req compound_setxattr_req; - case GF_FOP_REMOVEXATTR: gfx_removexattr_req compound_removexattr_req; - case GF_FOP_OPENDIR: gfx_opendir_req compound_opendir_req; - case GF_FOP_FSYNCDIR: gfx_fsyncdir_req compound_fsyncdir_req; - case GF_FOP_ACCESS: gfx_access_req compound_access_req; - case GF_FOP_CREATE: gfx_create_req compound_create_req; - case GF_FOP_FTRUNCATE: gfx_ftruncate_req compound_ftruncate_req; - case GF_FOP_FSTAT: gfx_fstat_req compound_fstat_req; - case GF_FOP_LK: gfx_lk_req compound_lk_req; - case GF_FOP_LOOKUP: gfx_lookup_req compound_lookup_req; - case GF_FOP_READDIR: gfx_readdir_req compound_readdir_req; - case GF_FOP_INODELK: gfx_inodelk_req compound_inodelk_req; - case GF_FOP_FINODELK: gfx_finodelk_req compound_finodelk_req; - case GF_FOP_ENTRYLK: gfx_entrylk_req compound_entrylk_req; - case GF_FOP_FENTRYLK: gfx_fentrylk_req compound_fentrylk_req; - case GF_FOP_XATTROP: gfx_xattrop_req compound_xattrop_req; - case GF_FOP_FXATTROP: gfx_fxattrop_req compound_fxattrop_req; - case GF_FOP_FGETXATTR: gfx_fgetxattr_req compound_fgetxattr_req; - case GF_FOP_FSETXATTR: gfx_fsetxattr_req compound_fsetxattr_req; - case GF_FOP_RCHECKSUM: gfx_rchecksum_req compound_rchecksum_req; - case GF_FOP_SETATTR: gfx_setattr_req compound_setattr_req; - case GF_FOP_FSETATTR: gfx_fsetattr_req compound_fsetattr_req; - case GF_FOP_READDIRP: gfx_readdirp_req compound_readdirp_req; - case GF_FOP_RELEASE: gfx_release_req compound_release_req; - case GF_FOP_RELEASEDIR: gfx_releasedir_req compound_releasedir_req; - case GF_FOP_FREMOVEXATTR: gfx_fremovexattr_req compound_fremovexattr_req; - case GF_FOP_FALLOCATE: gfx_fallocate_req compound_fallocate_req; - case GF_FOP_DISCARD: gfx_discard_req compound_discard_req; - case GF_FOP_ZEROFILL: gfx_zerofill_req compound_zerofill_req; - case GF_FOP_IPC: gfx_ipc_req compound_ipc_req; - case GF_FOP_SEEK: gfx_seek_req compound_seek_req; - case GF_FOP_LEASE: gfx_lease_req compound_lease_req; - default: void; -}; - -struct gfx_compound_req { - int compound_version; - glusterfs_compound_fop_t compound_fop_enum; - compound_req_v2 compound_req_array<>; - gfx_dict xdata; -}; - -union compound_rsp_v2 switch (glusterfs_fop_t fop_enum) { - case GF_FOP_STAT: gfx_common_iatt_rsp compound_stat_rsp; - case GF_FOP_READLINK: gfx_readlink_rsp compound_readlink_rsp; - case GF_FOP_MKNOD: gfx_common_3iatt_rsp compound_mknod_rsp; - case GF_FOP_MKDIR: gfx_common_3iatt_rsp compound_mkdir_rsp; - case GF_FOP_UNLINK: gfx_common_2iatt_rsp compound_unlink_rsp; - case GF_FOP_RMDIR: gfx_common_2iatt_rsp compound_rmdir_rsp; - case GF_FOP_SYMLINK: gfx_common_3iatt_rsp compound_symlink_rsp; - case GF_FOP_RENAME: gfx_rename_rsp compound_rename_rsp; - case GF_FOP_LINK: gfx_common_3iatt_rsp compound_link_rsp; - case GF_FOP_TRUNCATE: gfx_common_2iatt_rsp compound_truncate_rsp; - case GF_FOP_OPEN: gfx_open_rsp compound_open_rsp; - case GF_FOP_READ: gfx_read_rsp compound_read_rsp; - case GF_FOP_WRITE: gfx_common_2iatt_rsp compound_write_rsp; - case GF_FOP_STATFS: gfx_statfs_rsp compound_statfs_rsp; - case GF_FOP_FLUSH: gfx_common_rsp compound_flush_rsp; - case GF_FOP_FSYNC: gfx_common_2iatt_rsp compound_fsync_rsp; - case GF_FOP_GETXATTR: gfx_common_dict_rsp compound_getxattr_rsp; - case GF_FOP_SETXATTR: gfx_common_rsp compound_setxattr_rsp; - case GF_FOP_REMOVEXATTR: gfx_common_rsp compound_removexattr_rsp; - case GF_FOP_OPENDIR: gfx_open_rsp compound_opendir_rsp; - case GF_FOP_FSYNCDIR: gfx_common_rsp compound_fsyncdir_rsp; - case GF_FOP_ACCESS: gfx_common_rsp compound_access_rsp; - case GF_FOP_CREATE: gfx_create_rsp compound_create_rsp; - case GF_FOP_FTRUNCATE: gfx_common_2iatt_rsp compound_ftruncate_rsp; - case GF_FOP_FSTAT: gfx_common_iatt_rsp compound_fstat_rsp; - case GF_FOP_LK: gfx_lk_rsp compound_lk_rsp; - case GF_FOP_LOOKUP: gfx_common_2iatt_rsp compound_lookup_rsp; - case GF_FOP_READDIR: gfx_readdir_rsp compound_readdir_rsp; - case GF_FOP_INODELK: gfx_common_rsp compound_inodelk_rsp; - case GF_FOP_FINODELK: gfx_common_rsp compound_finodelk_rsp; - case GF_FOP_ENTRYLK: gfx_common_rsp compound_entrylk_rsp; - case GF_FOP_FENTRYLK: gfx_common_rsp compound_fentrylk_rsp; - case GF_FOP_XATTROP: gfx_common_dict_rsp compound_xattrop_rsp; - case GF_FOP_FXATTROP: gfx_common_dict_rsp compound_fxattrop_rsp; - case GF_FOP_FGETXATTR: gfx_common_dict_rsp compound_fgetxattr_rsp; - case GF_FOP_FSETXATTR: gfx_common_rsp compound_fsetxattr_rsp; - case GF_FOP_RCHECKSUM: gfx_rchecksum_rsp compound_rchecksum_rsp; - case GF_FOP_SETATTR: gfx_common_2iatt_rsp compound_setattr_rsp; - case GF_FOP_FSETATTR: gfx_common_2iatt_rsp compound_fsetattr_rsp; - case GF_FOP_READDIRP: gfx_readdirp_rsp compound_readdirp_rsp; - case GF_FOP_RELEASE: gfx_common_rsp compound_release_rsp; - case GF_FOP_RELEASEDIR: gfx_common_rsp compound_releasedir_rsp; - case GF_FOP_FREMOVEXATTR: gfx_common_rsp compound_fremovexattr_rsp; - case GF_FOP_FALLOCATE: gfx_common_2iatt_rsp compound_fallocate_rsp; - case GF_FOP_DISCARD: gfx_common_2iatt_rsp compound_discard_rsp; - case GF_FOP_ZEROFILL: gfx_common_2iatt_rsp compound_zerofill_rsp; - case GF_FOP_IPC: gfx_common_rsp compound_ipc_rsp; - case GF_FOP_SEEK: gfx_seek_rsp compound_seek_rsp; - case GF_FOP_LEASE: gfx_lease_rsp compound_lease_rsp; - default: void; -}; - -struct gfx_compound_rsp { - int op_ret; - int op_errno; - compound_rsp_v2 compound_rsp_array<>; - gfx_dict xdata; -}; - struct gfs4_inodelk_contention_req { opaque gfid[16]; struct gf_proto_flock flock; -- cgit