Re: [PATCH 6/6] block: consistently use GFP_NOIO instead of __GFP_NORECLAIM

2018-05-14 Thread Bart Van Assche
On Wed, 2018-05-09 at 09:54 +0200, Christoph Hellwig wrote:
> Same numerical value (for now at least), but a much better documentation
> of intent.

There is a typo in the subject of this patch: __GFP_NORECLAIM should be
changed into __GFP_RECLAIM. Otherwise:

Reviewed-by: Bart Van Assche 





[PATCH 6/6] block: consistently use GFP_NOIO instead of __GFP_NORECLAIM

2018-05-09 Thread Christoph Hellwig
Same numerical value (for now at least), but a much better documentation
of intent.

Signed-off-by: Christoph Hellwig 
Reviewed-by: Hannes Reinecke 
---
 block/scsi_ioctl.c   |  2 +-
 drivers/block/drbd/drbd_bitmap.c |  3 ++-
 drivers/block/pktcdvd.c  |  2 +-
 drivers/ide/ide-tape.c   |  2 +-
 drivers/ide/ide-taskfile.c   |  2 +-
 drivers/scsi/scsi_lib.c  |  2 +-
 fs/direct-io.c   |  4 ++--
 kernel/power/swap.c  | 14 +++---
 8 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index 04b54f9a4152..533f4aee8567 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -499,7 +499,7 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk 
*disk, fmode_t mode,
break;
}
 
-   if (bytes && blk_rq_map_kern(q, rq, buffer, bytes, __GFP_RECLAIM)) {
+   if (bytes && blk_rq_map_kern(q, rq, buffer, bytes, GFP_NOIO)) {
err = DRIVER_ERROR << 24;
goto error;
}
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c
index 9f4e6f502b84..d82237d534cf 100644
--- a/drivers/block/drbd/drbd_bitmap.c
+++ b/drivers/block/drbd/drbd_bitmap.c
@@ -1014,7 +1014,8 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, 
int page_nr) __must_ho
bm_set_page_unchanged(b->bm_pages[page_nr]);
 
if (ctx->flags & BM_AIO_COPY_PAGES) {
-   page = mempool_alloc(drbd_md_io_page_pool, 
__GFP_HIGHMEM|__GFP_RECLAIM);
+   page = mempool_alloc(drbd_md_io_page_pool,
+   GFP_NOIO | __GFP_HIGHMEM);
copy_highpage(page, b->bm_pages[page_nr]);
bm_store_page_idx(page, page_nr);
} else
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 4880a4a9f52d..ccfcf544830f 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -710,7 +710,7 @@ static int pkt_generic_packet(struct pktcdvd_device *pd, 
struct packet_command *
 
if (cgc->buflen) {
ret = blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen,
- __GFP_RECLAIM);
+ GFP_NOIO);
if (ret)
goto out;
}
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 1031f3f1..62c1a19a9aed 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -862,7 +862,7 @@ static int idetape_queue_rw_tail(ide_drive_t *drive, int 
cmd, int size)
 
if (size) {
ret = blk_rq_map_kern(drive->queue, rq, tape->buf, size,
- __GFP_RECLAIM);
+ GFP_NOIO);
if (ret)
goto out_put;
}
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c
index 6308bb0dab50..c034cd965831 100644
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -442,7 +442,7 @@ int ide_raw_taskfile(ide_drive_t *drive, struct ide_cmd 
*cmd, u8 *buf,
 */
if (nsect) {
error = blk_rq_map_kern(drive->queue, rq, buf,
-   nsect * SECTOR_SIZE, __GFP_RECLAIM);
+   nsect * SECTOR_SIZE, GFP_NOIO);
if (error)
goto put_req;
}
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 6b0f3ec487bd..f125fd71c0f2 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -273,7 +273,7 @@ int scsi_execute(struct scsi_device *sdev, const unsigned 
char *cmd,
rq = scsi_req(req);
 
if (bufflen &&  blk_rq_map_kern(sdev->request_queue, req,
-   buffer, bufflen, __GFP_RECLAIM))
+   buffer, bufflen, GFP_NOIO))
goto out;
 
rq->cmd_len = COMMAND_SIZE(cmd[0]);
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 874607bb6e02..093fb54cd316 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -432,8 +432,8 @@ dio_bio_alloc(struct dio *dio, struct dio_submit *sdio,
struct bio *bio;
 
/*
-* bio_alloc() is guaranteed to return a bio when called with
-* __GFP_RECLAIM and we request a valid number of vectors.
+* bio_alloc() is guaranteed to return a bio when allowed to sleep and
+* we request a valid number of vectors.
 */
bio = bio_alloc(GFP_KERNEL, nr_vecs);
 
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index 11b4282c2d20..1efcb5b0c3ed 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -269,7 +269,7 @@ static int hib_submit_io(int op, int op_flags, pgoff_t 
page_off, void *addr,
struct bio *bio;
int error = 0;
 
-   bio = bio_alloc(__GFP_RECLAIM | __GFP_HIGH, 1);
+   bio = bio_alloc(GFP_NOIO |