The patch titled Subject: vfs: guard end of device for mpage interface has been removed from the -mm tree. Its filename was vfs-guard-end-of-device-for-mpage-interface.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: Akinobu Mita <akinobu.mita@xxxxxxxxx> Subject: vfs: guard end of device for mpage interface Add guard_bio_eod() check for mpage code in order to allow us to do IO even on the odd last sectors of a device, even if the block size is some multiple of the physical sector size. Using mpage_readpages() for block device requires this guard check. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/buffer.c | 2 +- fs/internal.h | 5 +++++ fs/mpage.c | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff -puN fs/buffer.c~vfs-guard-end-of-device-for-mpage-interface fs/buffer.c --- a/fs/buffer.c~vfs-guard-end-of-device-for-mpage-interface +++ a/fs/buffer.c @@ -2966,7 +2966,7 @@ static void end_bio_bh_io_sync(struct bi * errors, this only handles the "we need to be able to * do IO at the final sector" case. */ -static void guard_bio_eod(int rw, struct bio *bio) +void guard_bio_eod(int rw, struct bio *bio) { sector_t maxsector; struct bio_vec *bvec = &bio->bi_io_vec[bio->bi_vcnt - 1]; diff -puN fs/internal.h~vfs-guard-end-of-device-for-mpage-interface fs/internal.h --- a/fs/internal.h~vfs-guard-end-of-device-for-mpage-interface +++ a/fs/internal.h @@ -35,6 +35,11 @@ static inline int __sync_blockdev(struct #endif /* + * buffer.c + */ +extern void guard_bio_eod(int rw, struct bio *bio); + +/* * char_dev.c */ extern void __init chrdev_init(void); diff -puN fs/mpage.c~vfs-guard-end-of-device-for-mpage-interface fs/mpage.c --- a/fs/mpage.c~vfs-guard-end-of-device-for-mpage-interface +++ a/fs/mpage.c @@ -28,6 +28,7 @@ #include <linux/backing-dev.h> #include <linux/pagevec.h> #include <linux/cleancache.h> +#include "internal.h" /* * I/O completion handler for multipage BIOs. @@ -57,6 +58,7 @@ static void mpage_end_io(struct bio *bio static struct bio *mpage_bio_submit(int rw, struct bio *bio) { bio->bi_end_io = mpage_end_io; + guard_bio_eod(rw, bio); submit_bio(rw, bio); return NULL; } _ Patches currently in -mm which might be from akinobu.mita@xxxxxxxxx are origin.patch linux-next.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html