From: Yu Kuai <yukuai3@xxxxxxxxxx> Changes in v4: - remove the patch to add 'bd_flags', and add a new field 'bool bd_ro_warned' in patch 2. 'bd_flags' will be added once 'bd_inode' is removed from other thread. Changes in v3: - add patch 1 from Ming, swap bd_inode layout with bd_openers and bd_size_lock; - change bd_flags from u32 to u16 in patch 2, prevent to affect layout of other fields; Changes in v2: - don't use test/set_bit() for new field, because unsigned long will cause that some field can't be placed in the first cacheline(64 bytes), use unsigned int for new field and test/set/clear it like 'bio->bi_flags'. Ming Lei (1): block: move .bd_inode into 1st cacheline of block_device Yu Kuai (1): block: warn once for each partition in bio_check_ro() block/blk-core.c | 14 +++++++++++--- include/linux/blk_types.h | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) -- 2.39.2