[Drbd-dev] [PATCH] compat: actually, bio_alloc now has 4 params
Michael D Labriola
veggiemike at sourceruckus.org
Mon Jul 18 22:34:21 CEST 2022
The original compat check for this got a bit wrapped around the axle.
Both bio_alloc() and bio_alloc_bioset() grew 2 more arguments. All
the comments and filenames from b6d4d588597 say "bio_alloc has 5
params", but it was actually bio_alloc_bioset() that now has 5 params.
And the test takes the 5 params now required for bio_alloc_bioset()
and passed them into bio_alloc()... which causes the correct code for
5.17 kernels to get patched back out erroneously.
Signed-off-by: Michael D Labriola <veggiemike at sourceruckus.org>
---
...no_has_5_params.cocci => bio_alloc__no_has_4_params.cocci} | 0
drbd/drbd-kernel-compat/gen_patch_names.c | 2 +-
.../{bio_alloc_has_5_params.c => bio_alloc_has_4_params.c} | 4 ++--
3 files changed, 3 insertions(+), 3 deletions(-)
rename drbd/drbd-kernel-compat/cocci/{bio_alloc__no_has_5_params.cocci => bio_alloc__no_has_4_params.cocci} (100%)
rename drbd/drbd-kernel-compat/tests/{bio_alloc_has_5_params.c => bio_alloc_has_4_params.c} (80%)
diff --git a/drbd/drbd-kernel-compat/cocci/bio_alloc__no_has_5_params.cocci b/drbd/drbd-kernel-compat/cocci/bio_alloc__no_has_4_params.cocci
similarity index 100%
rename from drbd/drbd-kernel-compat/cocci/bio_alloc__no_has_5_params.cocci
rename to drbd/drbd-kernel-compat/cocci/bio_alloc__no_has_4_params.cocci
diff --git a/drbd/drbd-kernel-compat/gen_patch_names.c b/drbd/drbd-kernel-compat/gen_patch_names.c
index e98c3d44..1074bb12 100644
--- a/drbd/drbd-kernel-compat/gen_patch_names.c
+++ b/drbd/drbd-kernel-compat/gen_patch_names.c
@@ -102,7 +102,7 @@ int main(int argc, char **argv)
#endif
patch(1, "bio_alloc", true, false,
- COMPAT_BIO_ALLOC_HAS_5_PARAMS, "has_5_params");
+ COMPAT_BIO_ALLOC_HAS_4_PARAMS, "has_4_params");
#if !defined(COMPAT_HAVE_BIO_SET_DEV)
patch(1, "bio_set_dev", true, false,
diff --git a/drbd/drbd-kernel-compat/tests/bio_alloc_has_5_params.c b/drbd/drbd-kernel-compat/tests/bio_alloc_has_4_params.c
similarity index 80%
rename from drbd/drbd-kernel-compat/tests/bio_alloc_has_5_params.c
rename to drbd/drbd-kernel-compat/tests/bio_alloc_has_4_params.c
index 1c28f049..6000e101 100644
--- a/drbd/drbd-kernel-compat/tests/bio_alloc_has_5_params.c
+++ b/drbd/drbd-kernel-compat/tests/bio_alloc_has_4_params.c
@@ -6,7 +6,7 @@
#include <linux/bio.h>
struct bio *foo(struct block_device *bdev, unsigned short nr_vecs,
- unsigned int opf, gfp_t gfp_mask, struct bio_set *bs)
+ unsigned int opf, gfp_t gfp_mask)
{
- return bio_alloc(bdev, nr_vecs, opf, gfp_mask, bs);
+ return bio_alloc(bdev, nr_vecs, opf, gfp_mask);
}
--
2.17.1
More information about the drbd-dev
mailing list