From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bart Van Assche Subject: [PATCH 6/6] brd: Accept non-aligned discard requests with size zero Date: Thu, 17 Dec 2015 12:43:12 +0100 Message-ID: <56729FD0.3070309@sandisk.com> References: <56729ECF.50906@sandisk.com> Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <56729ECF.50906@sandisk.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Jens Axboe Cc: Jan Kara , "Martin K. Petersen" , Mike Snitzer , "linux-block@vger.kernel.org" , device-mapper development , Dmitry Monakhov , Christoph Hellwig List-Id: dm-devel.ids Signed-off-by: Bart Van Assche Cc: Jan Kara Cc: Christoph Hellwig Cc: Mike Snitzer Cc: Martin K. Petersen Cc: Dmitry Monakhov --- drivers/block/brd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/block/brd.c b/drivers/block/brd.c index 7e0a54e..a757c7b 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c @@ -339,8 +339,9 @@ static blk_qc_t brd_make_request(struct request_queue *q, struct bio *bio) blk_queue_split(q, &bio, q->bio_split); if (unlikely(bio->bi_rw & REQ_DISCARD)) { - if (sector & ((PAGE_SIZE >> SECTOR_SHIFT) - 1) || - bio->bi_iter.bi_size & ~PAGE_MASK) + if (bio->bi_iter.bi_size && + (sector & ((PAGE_SIZE >> SECTOR_SHIFT) - 1) || + bio->bi_iter.bi_size & ~PAGE_MASK)) goto io_error; discard_from_brd(brd, sector, bio->bi_iter.bi_size); goto out; -- 2.1.4