On Mon 22-03-21 12:22:53, Jack Qiu wrote: > Function dio_send_cur_page may clear sdio->boundary, > so save it to avoid boundary missing. > > Fixes: b1058b981272 ("direct-io: submit bio after boundary buffer is > added to it") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Jack Qiu <jack.qiu@xxxxxxxxxx> Indeed. The patch looks good to me. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/direct-io.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/fs/direct-io.c b/fs/direct-io.c > index 9fe721dc04e0..c9023f0bb20a 100644 > --- a/fs/direct-io.c > +++ b/fs/direct-io.c > @@ -812,6 +812,7 @@ submit_page_section(struct dio *dio, struct dio_submit *sdio, struct page *page, > struct buffer_head *map_bh) > { > int ret = 0; > + int boundary = sdio->boundary; /* dio_send_cur_page may clear it */ > > if (dio->op == REQ_OP_WRITE) { > /* > @@ -850,10 +851,10 @@ submit_page_section(struct dio *dio, struct dio_submit *sdio, struct page *page, > sdio->cur_page_fs_offset = sdio->block_in_file << sdio->blkbits; > out: > /* > - * If sdio->boundary then we want to schedule the IO now to > + * If boundary then we want to schedule the IO now to > * avoid metadata seeks. > */ > - if (sdio->boundary) { > + if (boundary) { > ret = dio_send_cur_page(dio, sdio, map_bh); > if (sdio->bio) > dio_bio_submit(dio, sdio); > -- > 2.17.1 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR