Re: [GIT PULL] Block changes for 4.21-rc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/20/18 9:04 PM, Jens Axboe wrote:
> Hi Linus,
> 
> Sending this out a bit early to get this sorted for the holiday break.
> This is the main pull request for block/storage for 4.21. Larger than
> usual, it was a busy round with lots of goodies queued up. Most notable
> is the removal of the old IO stack, which has been a long time coming.
> No new features for a while, everything coming in this week has all
> been fixes for things that were previously merged.
> 
> Note that I've pulled in 4.20-rc a few times to both resolve a few
> conflicts, but mostly to get the important fixes that went into mainline
> late in this series.

The SD discard fix [1] you just merged causes a conflict, just for
reference, the below is the straight forward way to resolve it.

[1] 61cce6f6eeced5ddd9cac55e807fe28b4f18c1ba


diff --cc drivers/scsi/sd.c
index bd0a5c694a97,4a6ed2fc8c71..a1a44f52e0e8
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@@ -760,10 -759,9 +760,10 @@@ static blk_status_t sd_setup_unmap_cmnd
  	unsigned int data_len = 24;
  	char *buf;
  
 -	rq->special_vec.bv_page = alloc_page(GFP_ATOMIC | __GFP_ZERO);
 +	rq->special_vec.bv_page = mempool_alloc(sd_page_pool, GFP_ATOMIC);
  	if (!rq->special_vec.bv_page)
- 		return BLKPREP_DEFER;
+ 		return BLK_STS_RESOURCE;
 +	clear_highpage(rq->special_vec.bv_page);
  	rq->special_vec.bv_offset = 0;
  	rq->special_vec.bv_len = data_len;
  	rq->rq_flags |= RQF_SPECIAL_PAYLOAD;
@@@ -794,10 -793,9 +795,10 @@@ static blk_status_t sd_setup_write_same
  	u32 nr_sectors = blk_rq_sectors(rq) >> (ilog2(sdp->sector_size) - 9);
  	u32 data_len = sdp->sector_size;
  
 -	rq->special_vec.bv_page = alloc_page(GFP_ATOMIC | __GFP_ZERO);
 +	rq->special_vec.bv_page = mempool_alloc(sd_page_pool, GFP_ATOMIC);
  	if (!rq->special_vec.bv_page)
- 		return BLKPREP_DEFER;
+ 		return BLK_STS_RESOURCE;
 +	clear_highpage(rq->special_vec.bv_page);
  	rq->special_vec.bv_offset = 0;
  	rq->special_vec.bv_len = data_len;
  	rq->rq_flags |= RQF_SPECIAL_PAYLOAD;
@@@ -825,10 -824,9 +827,10 @@@ static blk_status_t sd_setup_write_same
  	u32 nr_sectors = blk_rq_sectors(rq) >> (ilog2(sdp->sector_size) - 9);
  	u32 data_len = sdp->sector_size;
  
 -	rq->special_vec.bv_page = alloc_page(GFP_ATOMIC | __GFP_ZERO);
 +	rq->special_vec.bv_page = mempool_alloc(sd_page_pool, GFP_ATOMIC);
  	if (!rq->special_vec.bv_page)
- 		return BLKPREP_DEFER;
+ 		return BLK_STS_RESOURCE;
 +	clear_highpage(rq->special_vec.bv_page);
  	rq->special_vec.bv_offset = 0;
  	rq->special_vec.bv_len = data_len;
  	rq->rq_flags |= RQF_SPECIAL_PAYLOAD;

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux