block, fs: Restore the per-bio/request data lifetime fields
authorBart Van Assche <bvanassche@acm.org>
Fri, 2 Feb 2024 20:39:25 +0000 (12:39 -0800)
committerChristian Brauner <brauner@kernel.org>
Tue, 6 Feb 2024 13:31:05 +0000 (14:31 +0100)
commit449813515d3e5efec85206bb91588a6249a421a3
tree2328b6cedb4a82d0de3a8089054e6a7be176073f
parentea7d898676d9e94558c46ba927db35403362389f
block, fs: Restore the per-bio/request data lifetime fields

Restore support for passing data lifetime information from filesystems to
block drivers. This patch reverts commit b179c98f7697 ("block: Remove
request.write_hint") and commit c75e707fe1aa ("block: remove the
per-bio/request write hint").

This patch does not modify the size of struct bio because the new
bi_write_hint member fills a hole in struct bio. pahole reports the
following for struct bio on an x86_64 system with this patch applied:

        /* size: 112, cachelines: 2, members: 20 */
        /* sum members: 110, holes: 1, sum holes: 2 */
        /* last cacheline: 48 bytes */

Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20240202203926.2478590-7-bvanassche@acm.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
13 files changed:
block/bio.c
block/blk-crypto-fallback.c
block/blk-merge.c
block/blk-mq.c
block/bounce.c
block/fops.c
fs/buffer.c
fs/direct-io.c
fs/iomap/buffered-io.c
fs/iomap/direct-io.c
fs/mpage.c
include/linux/blk-mq.h
include/linux/blk_types.h