Reserve kabi space for some structures in elevator/libata/libnvdimm.
Li Lingfeng (3): elevator: reserve space for structures in elevator ata: libata: reserve space for structures in libata libnvdimm: reserve space for structures in libnvdimm
block/elevator.h | 15 +++++++++++++++ include/linux/libata.h | 31 +++++++++++++++++++++++++++++++ include/linux/libnvdimm.h | 7 +++++++ include/linux/nd.h | 13 +++++++++++++ 4 files changed, 66 insertions(+)
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8ZUL1
--------------------------------
Reserve space for struct elevator_mq_ops/elevator_type.
Signed-off-by: Li Lingfeng lilingfeng3@huawei.com --- block/elevator.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/block/elevator.h b/block/elevator.h index 7ca3d7b6ed82..8b8099c6a75f 100644 --- a/block/elevator.h +++ b/block/elevator.h @@ -4,6 +4,7 @@
#include <linux/percpu.h> #include <linux/hashtable.h> +#include <linux/kabi.h> #include "blk-mq.h"
struct io_cq; @@ -48,6 +49,15 @@ struct elevator_mq_ops { struct request *(*next_request)(struct request_queue *, struct request *); void (*init_icq)(struct io_cq *); void (*exit_icq)(struct io_cq *); + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) };
#define ELV_NAME_MAX (16) @@ -84,6 +94,11 @@ struct elevator_type /* managed by elevator core */ char icq_cache_name[ELV_NAME_MAX + 6]; /* elvname + "_io_cq" */ struct list_head list; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
static inline bool elevator_tryget(struct elevator_type *e)
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8ZUL1
--------------------------------
Reserve space for structure ata_taskfile/ata_device/ata_port/ ata_port_operations/ata_port_info.
Signed-off-by: Li Lingfeng lilingfeng3@huawei.com --- include/linux/libata.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
diff --git a/include/linux/libata.h b/include/linux/libata.h index 2a7d2af0ed80..f244e908b324 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -23,6 +23,7 @@ #include <linux/cdrom.h> #include <linux/sched.h> #include <linux/async.h> +#include <linux/kabi.h>
/* * Define if arch has non-standard setup. This is a _PCI_ standard @@ -549,6 +550,11 @@ struct ata_taskfile { u32 auxiliary; /* auxiliary field */ /* from SATA 3.1 and */ /* ATA-8 ACS-3 */ + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
#ifdef CONFIG_ATA_SFF @@ -728,6 +734,14 @@ struct ata_device { int spdn_cnt; /* ering is CLEAR_END, read comment above CLEAR_END */ struct ata_ering ering; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) };
/* Fields between ATA_DEVICE_CLEAR_BEGIN and ATA_DEVICE_CLEAR_END are @@ -877,6 +891,15 @@ struct ata_port { /* owned by EH */ u8 *ncq_sense_buf; u8 sector_buf[ATA_SECT_SIZE] ____cacheline_aligned; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) + KABI_RESERVE(6) + KABI_RESERVE(7) + KABI_RESERVE(8) };
/* The following initializer overrides a method to NULL whether one of @@ -986,6 +1009,11 @@ struct ata_port_operations { * fields must be pointers. */ const struct ata_port_operations *inherits; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) };
struct ata_port_info { @@ -996,6 +1024,9 @@ struct ata_port_info { unsigned int udma_mask; struct ata_port_operations *port_ops; void *private_data; + + KABI_RESERVE(1) + KABI_RESERVE(2) };
struct ata_timing {
hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I8ZUL1
--------------------------------
Reserve space for structure nd_region_desc/nvdimm_security_ops/nvdimm_pmu/ nd_device_driver/nd_namespace_pmem.
Signed-off-by: Li Lingfeng lilingfeng3@huawei.com --- include/linux/libnvdimm.h | 7 +++++++ include/linux/nd.h | 13 +++++++++++++ 2 files changed, 20 insertions(+)
diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h index e772aae71843..60fcf0d85835 100644 --- a/include/linux/libnvdimm.h +++ b/include/linux/libnvdimm.h @@ -12,6 +12,7 @@ #include <linux/uuid.h> #include <linux/spinlock.h> #include <linux/bio.h> +#include <linux/kabi.h>
struct badrange_entry { u64 start; @@ -136,6 +137,9 @@ struct nd_region_desc { int memregion; struct device_node *of_node; int (*flush)(struct nd_region *nd_region, struct bio *bio); + + KABI_RESERVE(1) + KABI_RESERVE(2) };
struct device; @@ -193,6 +197,9 @@ struct nvdimm_security_ops { int (*query_overwrite)(struct nvdimm *nvdimm); int (*disable_master)(struct nvdimm *nvdimm, const struct nvdimm_key_data *key_data); + + KABI_RESERVE(1) + KABI_RESERVE(2) };
enum nvdimm_fwa_state { diff --git a/include/linux/nd.h b/include/linux/nd.h index b9771ba1ef87..6bebc7561c71 100644 --- a/include/linux/nd.h +++ b/include/linux/nd.h @@ -9,6 +9,7 @@ #include <linux/device.h> #include <linux/badblocks.h> #include <linux/perf_event.h> +#include <linux/kabi.h>
enum nvdimm_event { NVDIMM_REVALIDATE_POISON, @@ -54,6 +55,12 @@ struct nvdimm_pmu { enum cpuhp_state cpuhp_state; /* cpumask provided by arch/platform specific code */ struct cpumask arch_cpumask; + + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) };
struct platform_device; @@ -82,6 +89,9 @@ struct nd_device_driver { void (*remove)(struct device *dev); void (*shutdown)(struct device *dev); void (*notify)(struct device *dev, enum nvdimm_event event); + + KABI_RESERVE(1) + KABI_RESERVE(2) };
static inline struct nd_device_driver *to_nd_device_driver( @@ -142,6 +152,9 @@ struct nd_namespace_pmem { char *alt_name; uuid_t *uuid; int id; + + KABI_RESERVE(1) + KABI_RESERVE(2) };
static inline struct nd_namespace_io *to_nd_namespace_io(const struct device *dev)
反馈: 您发送到kernel@openeuler.org的补丁/补丁集,已成功转换为PR! PR链接地址: https://gitee.com/openeuler/kernel/pulls/4513 邮件列表地址:https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/V...
FeedBack: The patch(es) which you have sent to kernel@openeuler.org mailing list has been converted to a pull request successfully! Pull request link: https://gitee.com/openeuler/kernel/pulls/4513 Mailing list address: https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/V...