From patchwork Mon Nov 26 16:45:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 10698651 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 095AE17D5 for ; Mon, 26 Nov 2018 16:45:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EDB352A083 for ; Mon, 26 Nov 2018 16:45:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DEF472A088; Mon, 26 Nov 2018 16:45:53 +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=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI 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 8DA6C2A083 for ; Mon, 26 Nov 2018 16:45:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727022AbeK0Dkb (ORCPT ); Mon, 26 Nov 2018 22:40:31 -0500 Received: from mail-io1-f68.google.com ([209.85.166.68]:36409 "EHLO mail-io1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726542AbeK0Dkb (ORCPT ); Mon, 26 Nov 2018 22:40:31 -0500 Received: by mail-io1-f68.google.com with SMTP id m19so14480004ioh.3 for ; Mon, 26 Nov 2018 08:45:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NbaVNkMyxvwaepZlvQFQJrgWkKKIKk5aWR0maYoyXOs=; b=z3FyYJ5q8+IqGRiv1IFmR7COSEdIAkh0a/45cbNar4425z8lglyvqTL8jLTTDCsx9k 76ygE/wUOaHNFHSPBnzoK8onwPvjwCg9PCcHpF21PQAHTK+yFbVVhgScw8hi2Iex2AD8 RVGBQc6s6UY+bmBCmukFhQLMP/B/7DLet7STVsXttUQbTyQS2PLbEmfN9CrfyPK0OHRT MF/FLPh/KFUOL8dyX/WezJ7mVEgDIXJlkFX9Ed0r+JlqSblTVMcoDAJKKjwiVNDsdjc/ cCo0sCncRXUSCjfsQiUqC3HLIUTWX07oGTWm2lv7/Gbz2/zjXC8vsq1P8fgdsL5YCtgL oXGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NbaVNkMyxvwaepZlvQFQJrgWkKKIKk5aWR0maYoyXOs=; b=RuP018gylAAuozivqHwqz+1or4bsul3COoeMMzt8klu60KLa6cB+gnxUPP2LfKs7pi g7LV2z8EL/HBYrnkEwGwBl5f0DzEGeMnVYtGWm0uOu/cW23IVHNk894Q/TehuJ2Zfmf7 LVGIWcHcWisP/OT7TCdixtGVZnufQo2ULrpkCvNgqUW2MKvrluc9byQUvqcn/KKZ6Hcu Olf9Vr5N86jnbFl+ekO6DNyGgSGguBuU+ZkuNfDh0cfHGupMz4B5xllaI6OOJiq5JrJ7 Q7Q9Z0OlD+CCgBYqDGblX0/tlGZx02NE3HiS4qWuDpb3sHBKpRrRR61izT/Zuccr57IN o5+A== X-Gm-Message-State: AA+aEWbYVHAPewLBDt+fYsQ/mvNFxSHj0rCL+9b5EdTwIh1oi6xnuDjZ Bu92vNxpJTe0YB3QkpDdi6jsnSA/znA= X-Google-Smtp-Source: AFSGD/XebPi3O7CTyBzvm/N/uzGpQkCtOKAaWJ/jPn78/jX5dFwaVoc9uC+SzYsWFKOKnnba/yvzpg== X-Received: by 2002:a6b:5d01:: with SMTP id r1mr20644103iob.170.1543250751799; Mon, 26 Nov 2018 08:45:51 -0800 (PST) Received: from localhost.localdomain ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id t65-v6sm486801ita.9.2018.11.26.08.45.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Nov 2018 08:45:50 -0800 (PST) From: Jens Axboe To: linux-block@vger.kernel.org, linux-aio@kvack.org, linux-fsdevel@vger.kernel.org Cc: Christoph Hellwig , Jens Axboe Subject: [PATCH 02/20] aio: clear IOCB_HIPRI Date: Mon, 26 Nov 2018 09:45:26 -0700 Message-Id: <20181126164544.5699-3-axboe@kernel.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181126164544.5699-1-axboe@kernel.dk> References: <20181126164544.5699-1-axboe@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Christoph Hellwig No one is going to poll for aio (yet), so we must clear the HIPRI flag, as we would otherwise send it down the poll queues, where no one will be polling for completions. Signed-off-by: Christoph Hellwig IOCB_HIPRI, not RWF_HIPRI. Signed-off-by: Jens Axboe Reviewed-by: Johannes Thumshirn --- fs/aio.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index 205390c0c1bb..05647d352bf3 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1436,8 +1436,7 @@ static int aio_prep_rw(struct kiocb *req, struct iocb *iocb) ret = ioprio_check_cap(iocb->aio_reqprio); if (ret) { pr_debug("aio ioprio check cap error: %d\n", ret); - fput(req->ki_filp); - return ret; + goto out_fput; } req->ki_ioprio = iocb->aio_reqprio; @@ -1446,7 +1445,13 @@ static int aio_prep_rw(struct kiocb *req, struct iocb *iocb) ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags); if (unlikely(ret)) - fput(req->ki_filp); + goto out_fput; + + req->ki_flags &= ~IOCB_HIPRI; /* no one is going to poll for this I/O */ + return 0; + +out_fput: + fput(req->ki_filp); return ret; }