In Android Common kernel, bdev_nr_sectors() is using since v6.1 kernel.
Refer to https://android.googlesource.com/kernel/common
- android14-5.15 : i_size_read() >> SECTOR_SHIFT
- android14-6.1 / android15-6.6 / android16-6.12 : bdev_br_sectors()
Change-Id: Iecce56d6b98ee7f4714ccdd6dacb31f828795545
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
#include <linux/crc32.h>
#include <linux/dm-bufio.h>
#include <linux/module.h>
+#include <linux/version.h>
#define DM_MSG_PREFIX "bow"
*bdev = dev->bdev;
/* Only pass ioctls through if the device sizes match exactly. */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0))
return ti->len != i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT;
+#else
+ return ti->len != bdev_nr_sectors(dev->bdev);
+#endif
}
static int dm_bow_iterate_devices(struct dm_target *ti,