From 621271f8cfa0a3340733faba08cba6712c5e000e Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Fri, 8 Nov 2024 13:32:21 -0500 Subject: [PATCH] backing_dev_info is entirely removed. The assignments to it is no longer needed at all. All references can be dropped since v6.4-rc4-163-g0d625446d0a4. Signed-off-by: Auke Kok --- kmod/src/Makefile.kernelcompat | 9 +++++++++ kmod/src/ioctl.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/kmod/src/Makefile.kernelcompat b/kmod/src/Makefile.kernelcompat index 3582dccb..5f21c6be 100644 --- a/kmod/src/Makefile.kernelcompat +++ b/kmod/src/Makefile.kernelcompat @@ -413,3 +413,12 @@ endif ifneq (,$(shell grep 'blkdev_put.struct block_device .bdev, void .holder' include/linux/blkdev.h)) ccflags-y += -DKC_BLKDEV_PUT_HOLDER_ARG endif + +# +# v6.4-rc4-163-g0d625446d0a4 +# +# Entirely removes current->backing_dev_info to ultimately remove buffer_head +# completely at some point. +ifneq (,$(shell grep 'struct backing_dev_info.*backing_dev_info;' include/linux/sched.h)) +ccflags-y += -DKC_CURRENT_BACKING_DEV_INFO +endif diff --git a/kmod/src/ioctl.c b/kmod/src/ioctl.c index a844a9b6..ebde0a05 100644 --- a/kmod/src/ioctl.c +++ b/kmod/src/ioctl.c @@ -524,7 +524,9 @@ static long scoutfs_ioc_stage(struct file *file, unsigned long arg) } si->staging = true; +#ifdef KC_CURRENT_BACKING_DEV_INFO current->backing_dev_info = inode_to_bdi(inode); +#endif pos = args.offset; written = 0; @@ -537,7 +539,9 @@ static long scoutfs_ioc_stage(struct file *file, unsigned long arg) } while (ret > 0 && written < args.length); si->staging = false; +#ifdef KC_CURRENT_BACKING_DEV_INFO current->backing_dev_info = NULL; +#endif out: scoutfs_per_task_del(&si->pt_data_lock, &pt_ent); scoutfs_unlock(sb, lock, SCOUTFS_LOCK_WRITE);