From patchwork Thu Oct 27 14:49:43 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= X-Patchwork-Id: 9399661 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6B43560231 for ; Thu, 27 Oct 2016 14:53:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 571202A2FA for ; Thu, 27 Oct 2016 14:53:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4A4072A300; Thu, 27 Oct 2016 14:53:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 56C092A309 for ; Thu, 27 Oct 2016 14:53:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S942840AbcJ0Ou3 (ORCPT ); Thu, 27 Oct 2016 10:50:29 -0400 Received: from mail-wm0-f47.google.com ([74.125.82.47]:36753 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933129AbcJ0OuI (ORCPT ); Thu, 27 Oct 2016 10:50:08 -0400 Received: by mail-wm0-f47.google.com with SMTP id b80so38814291wme.1 for ; Thu, 27 Oct 2016 07:50:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Gq8Zej778x2GJCKvSLcoWMRR0ScZXVaCDvtArcyBZQ4=; b=EEn0fbYgCUp4P1K4PFXJtFebFcLlV+cf22w1fIzLfWBKMxXXXGLtgJZiRGt+N/tngY n5BRUqDEZeqnsAFKMk5qQ7R9B9bKodqxu/8syc7sv/qZxJv1UcDaOKdyfwIU84ny/lA6 Q80+UjIUURaM5z+eXPTtkXZHzILltq//0nertgzGwAMnscrFxTAW9/p3uc9H1cZgFVea 3y6CuLhr2A18c2onJSyvBWjB3xFT0uLurnVOh84jiMmvdfQpqw7BWKIukCZaStRgpNHT chq2lrlSFErhCVxUsqp+uLWpgUcq2eNPaw/p/Du3Tj1TbpBuUXX+/8L4xukzqijpMn7O 8YBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Gq8Zej778x2GJCKvSLcoWMRR0ScZXVaCDvtArcyBZQ4=; b=QCJFBwxfMAnUipfhX4fTREE6H8g87xdS6+WK+0HFet0bzlaSUqZ3wwo5ZM+Ic5DNh7 mvHD/NjpiotUVXhHGCkTvvRWOONI3XaLFvq4CRk9tlkVrF5gOX56WDNGiGq4a++Mk00c n14wpF0+HAQhxHLL47Y5FIqNZw3PkZhmzjj7wUx10eEwo9RSkDYCujJfz1s5XrS0RgVj CGtq3ccPO/E7xjNMJ0AhQpdijd1YCsB5QpHC+8WtVis+yUP1pW8EKUWzfXibZRGE/8px jOgrwqCgqS3uW6DRIryjJThaEVhPRdaKNzG3JB/0gF33A+ktD18nTgAygEM/l7r5nR+o hHnA== X-Gm-Message-State: ABUngveR3WS5IHCzhHdYoVvX/9fUMzv3fmATsPJB50LwbIyDGOcy6mjsCw7MimjyzJtpzA== X-Received: by 10.28.173.141 with SMTP id w135mr7851359wme.90.1477579806945; Thu, 27 Oct 2016 07:50:06 -0700 (PDT) Received: from uHalley.cnexlabs.com (6164211-cl69.boa.fiberby.dk. [193.106.164.211]) by smtp.gmail.com with ESMTPSA id wn5sm8858790wjb.42.2016.10.27.07.50.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 27 Oct 2016 07:50:06 -0700 (PDT) From: "=?UTF-8?q?Javier=20Gonz=C3=A1lez?=" X-Google-Original-From: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= To: mb@lightnvm.io Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Javier=20Gonz=C3=A1lez?= Subject: [PATCH 7/7] lightnvm: rrpc: split bios of size > 256kb Date: Thu, 27 Oct 2016 16:49:43 +0200 Message-Id: <1477579783-5289-7-git-send-email-javier@cnexlabs.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1477579783-5289-1-git-send-email-javier@cnexlabs.com> References: <1477579783-5289-1-git-send-email-javier@cnexlabs.com> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP rrpc cannot handle bios of size > 256kb due to NVME's 64 bit completion bitmap. If a larger bio comes, split it explicitly. Signed-off-by: Javier González --- drivers/lightnvm/rrpc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c index 8deef2e..0b8251f 100644 --- a/drivers/lightnvm/rrpc.c +++ b/drivers/lightnvm/rrpc.c @@ -984,6 +984,12 @@ static blk_qc_t rrpc_make_rq(struct request_queue *q, struct bio *bio) struct nvm_rq *rqd; int err; + /* + * Multipage is supported up until 256kb due to NVME's 64 bit completion + * bitmap. + */ + blk_queue_split(q, &bio, q->bio_split); + if (bio_op(bio) == REQ_OP_DISCARD) { rrpc_discard(rrpc, bio); return BLK_QC_T_NONE;