From patchwork Fri May 18 16:48:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 10411359 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 A7467601F9 for ; Fri, 18 May 2018 16:50:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 95CB92844E for ; Fri, 18 May 2018 16:50:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8A977288BD; Fri, 18 May 2018 16:50:34 +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=-2.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 24EE02844E for ; Fri, 18 May 2018 16:50:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3AF06B0634; Fri, 18 May 2018 12:50:05 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id BEABC6B0636; Fri, 18 May 2018 12:50:05 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A88116B0637; Fri, 18 May 2018 12:50:05 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id 61E006B0634 for ; Fri, 18 May 2018 12:50:05 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id 62-v6so5026005pfw.21 for ; Fri, 18 May 2018 09:50:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=92MMTFi2IIgEg3iUDdObI12au0trYp073QMQb6Qdn94=; b=fhCWTPoOFW7jd4EeubPiFtxIA+hsdu+a8lmlMenkLrbeiFi6pvCS4nMB2pw9KsUoX/ ltcQxmGFRlRGeKEdX/OT0x1i383r9QeawJYy8wFjm+XnthrXJ03pxi7FppSxhF8zqkbE 9xhj22wfQPfOXpq9QW3AMpRNmaM5xnneikHGN68H4kEJi6AtPhx7j+FMpRgXRFTuQNrD Zhsh+SInumELnM32QAQjtiyx4XyYA/v/EwChA/T9oM+XMQuAcGLQ5oX83GQU4FR9Khen 9rspvR2uUdLZ2T/P7KJQn1o1nUiltSm3CvMlP1iYKQXzLjq0nBktziodP6nPdmlIYn6H AEIA== X-Gm-Message-State: ALKqPweDSnrye+cu/FE1TCiITvxD4k4toiLHFIyMCK+bOBNZ2LTu93Du dwIiMaJFXxVvcYGKebKXEQb0DrytjWchVn3I4G3sw2xiIkCrTTFVGl1SS0grQV8gMLtFlVbpn1k jQeAUKkrIfZ5ILjnCP5phUaFqzr4UnkVi49r/R2doByGyms5xI5zsIn+myf32kjc= X-Received: by 2002:a17:902:7446:: with SMTP id e6-v6mr10099870plt.369.1526662205106; Fri, 18 May 2018 09:50:05 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoY/e1NoBFj0BjWjX+2+ipfAriUOCma07eEclqskM4FqUYhLrzbrNQG8fxAesg7WZONbYbn X-Received: by 2002:a17:902:7446:: with SMTP id e6-v6mr10099830plt.369.1526662204418; Fri, 18 May 2018 09:50:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526662204; cv=none; d=google.com; s=arc-20160816; b=AuEfOiyRjk5LiuWjK5lhxwIZB1yR1Nf0hZbI31x5n16O951zYAc5u90cp3pqw/p3y2 /c3c74Pek0GtfuYEhslTDyc2GnTcN8M15yutCTMR7O1ROSEYpB3LHFTZdrGhT9bW2ZSy antx0Apo1aOyDM4/3k2FwoZVLcFaw8+FCDOoULTqbMZUXhFnXm/vjbzxHut0XFUAouK4 ZBYjRSjb3KSpNp8vET4qRYlcoSCHw17jSQWAF8asWOAA30mPcGUI+mGiDNdT3urKPIpz TrLFkhnI7NwscJCZ6NuZFjzL+IANpQg9UhJ4E+l33C+ywyjE5UZ5Ge6Fw0iHMJUi8gO0 fUFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=92MMTFi2IIgEg3iUDdObI12au0trYp073QMQb6Qdn94=; b=jLDE7KWhKEUuBOuecou38IOe3QnWHJjdmNCw7jyKX1PNrkTe0I1eZIuRt3rNw0e+in Zp+89UZ3rgOINGf4moylgbu3C0Lj+HVUA9amyIqRk5ynizpZkSPQBv/OLybY8IBrb6dy xZgRG6w24nnqiPkOE8bH6YD9hyUX6cMxawa0SIT4t5HpdM24dNuFaTkJRRDCIjeWVAQp hShS+sH9MMrLpoah74UHxuAXFerTfyWzKoS/RjesrFdOkVbdTe3xcQ3mTyqKLXQ1c4xW cgOA4sGf4/NJKF9ntITb1cRAYLkmFhNqkD3ukWa5FDdAMZ4DI6WMHsyS7SVvVUji3zp2 cUow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=NqiqdMmH; spf=pass (google.com: best guess record for domain of batv+77ddf8e9b1b344f28472+5381+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+77ddf8e9b1b344f28472+5381+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id m64-v6si7802601pfm.0.2018.05.18.09.50.04 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 18 May 2018 09:50:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+77ddf8e9b1b344f28472+5381+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=NqiqdMmH; spf=pass (google.com: best guess record for domain of batv+77ddf8e9b1b344f28472+5381+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+77ddf8e9b1b344f28472+5381+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=92MMTFi2IIgEg3iUDdObI12au0trYp073QMQb6Qdn94=; b=NqiqdMmHJjWrvRt7ZxPAM16MM wz1eI1MUR3cUdCwZ9H1NCvOf7t2wwcl3Uif9jGvtforG0BOk1KjNk1IFepzWOx3cO8fKgf10+YT5v O9exeKBqKA6hXBxKuMhQztI+kpRqNVuZER9V2mOOIBesVSPUTP/4GshxBM3tPseT1VJgNb8/t4FL5 wpQD1D2xXtE3dCy6b+xEldOi7ngrssFtaCcN2rp6/E/pctOH1ol/zFpC3ECF29rpfRROdfLMYruSR 9hw4lPeMRlNdm+MeD6141fCbjoBGSWGlkxqmjVXKAzqglPNOwQGhFuAyq238Tq1h1S3NN1XzK8Q7g kyBWkeUyg==; Received: from 80-109-164-210.cable.dynamic.surfer.at ([80.109.164.210] helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1fJiZu-0007D2-Qs; Fri, 18 May 2018 16:50:03 +0000 From: Christoph Hellwig To: linux-xfs@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 30/34] xfs: move all writeback buffer_head manipulation into xfs_map_at_offset Date: Fri, 18 May 2018 18:48:26 +0200 Message-Id: <20180518164830.1552-31-hch@lst.de> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180518164830.1552-1-hch@lst.de> References: <20180518164830.1552-1-hch@lst.de> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP This keeps it in a single place so it can be made otional more easily. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_aops.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 592b33b35a30..951b329abb23 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c @@ -505,21 +505,6 @@ xfs_imap_valid( offset < imap->br_startoff + imap->br_blockcount; } -STATIC void -xfs_start_buffer_writeback( - struct buffer_head *bh) -{ - ASSERT(buffer_mapped(bh)); - ASSERT(buffer_locked(bh)); - ASSERT(!buffer_delay(bh)); - ASSERT(!buffer_unwritten(bh)); - - bh->b_end_io = NULL; - set_buffer_async_write(bh); - set_buffer_uptodate(bh); - clear_buffer_dirty(bh); -} - STATIC void xfs_start_page_writeback( struct page *page, @@ -728,6 +713,7 @@ xfs_map_at_offset( ASSERT(imap->br_startblock != HOLESTARTBLOCK); ASSERT(imap->br_startblock != DELAYSTARTBLOCK); + lock_buffer(bh); xfs_map_buffer(inode, bh, imap, offset); set_buffer_mapped(bh); clear_buffer_delay(bh); @@ -740,6 +726,10 @@ xfs_map_at_offset( * set the bdev now. */ bh->b_bdev = xfs_find_bdev_for_inode(inode); + bh->b_end_io = NULL; + set_buffer_async_write(bh); + set_buffer_uptodate(bh); + clear_buffer_dirty(bh); } STATIC void @@ -885,11 +875,9 @@ xfs_writepage_map( continue; } - lock_buffer(bh); xfs_map_at_offset(inode, bh, &wpc->imap, file_offset); xfs_add_to_ioend(inode, file_offset, page, wpc, wbc, &submit_list); - xfs_start_buffer_writeback(bh); count++; }