From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4563C388F9 for ; Thu, 22 Oct 2020 15:03:31 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F23EC24630 for ; Thu, 22 Oct 2020 15:03:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.ozlabs.org header.i=@lists.ozlabs.org header.b="nHXWVrhA"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=aol.com header.i=@aol.com header.b="m0JLl2xE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F23EC24630 Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=lists.ozlabs.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-erofs-bounces+linux-erofs=archiver.kernel.org@lists.ozlabs.org Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 4CH9bd0m7TzDqsd for ; Fri, 23 Oct 2020 02:03:25 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.ozlabs.org; s=201707; t=1603379005; bh=74m1SXVChq39Jv7vC46EuZvV1qHlLHfzCqbakQ8cVdc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=nHXWVrhAoJ7EIQQlbnMS9D/XYs5RlaFDLKEj58XnbMQoDITnSWbaAez8BzyIQbHQ8 nezFvUtrQzg0JUkNhMadVuYw8Y0UxZDkxu6EDmB4abG8EV040ytK/lLr37N5fBqU8p bzkyTF344NVejS4UCbkQwqKD5lfSoFpHs1mPnxMv4Ou+6f2ohfKlwdW2qOh/NoaAew K0HaO/cG+bIhMReLCI/hHjKbtJIdNuqg0lQXpC8YngsZRLObwHjLd3p/1xzUJtKv70 Yb84VZ3E4h44u4tJRWa7U/2/SgNIgv80FqBrRD2jjnU9GKJVgeJPq+459rS/75iUxp pLPQaS1Htz/zQ== Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=aol.com (client-ip=98.137.69.147; helo=sonic310-21.consmr.mail.gq1.yahoo.com; envelope-from=hsiangkao@aol.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=aol.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=aol.com header.i=@aol.com header.a=rsa-sha256 header.s=a2048 header.b=m0JLl2xE; dkim-atps=neutral Received: from sonic310-21.consmr.mail.gq1.yahoo.com (sonic310-21.consmr.mail.gq1.yahoo.com [98.137.69.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4CH9TP1lFhzDqnv for ; Fri, 23 Oct 2020 01:58:01 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1603378679; bh=guRsd5n/uh5BC8bHESLKo5zEBYWuxI19CPiguQJ+aXY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject; b=m0JLl2xEZPyNp1sIPEPPcy1bxFPljMo8wHzTd9L5ca+MxzzWCiN26qY9MjpCQ+fk8nsWvbV0TOwnSDmhrNrTpSVCVEnAnWjImhp6zVd8h9WoHbPuYyD3Zy3wfUC8wfbmLEUrvQTp9M/bkJtFFS07xTYyLFaQB/RXMrXalePi0CEwTbLoM5vs0DOORKqM9I8rdJHDp5xyKZYhY0m6gAn7tKtkZCFe3ILbcv7qIuSfluCt+PqSnvhYdH8X7g0cHh723DUE5vhAANBC/Wfjeau6TuLkCxv6pX9vYgUg74UFzqZwG1+kQ9jxPkCm3abJ9DXqFiQd/1ZkVq0DnHJiG9kWsQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1603378679; bh=Sm/EasK/eFvF5q87T3xAXRupUhCHqTiBEfWLKHkj6cg=; h=From:To:Subject:Date; b=qXe462w0vd+Mz9u+WrBWdt/m5aWXJYm81EQJ2hzai43lEW5FrCYS+flWwmaTgvnNYrN+e74vlPiR62RadOob8lXgfV+ALaIlEgHzn3LXQkUGhCLY+bW0qHh8X/j2946mmNy3OlY3T81r1Wo6A608DsTu8mBfyIeXKG53PaG2R95jpebQPwDbQ4Lu4q/vXNT11y1ZlEHy/c5iBnvVQkZ1zQutd9VOCYbQwuRyGWx2z2uubnskR1C0V4SUnu58/hhUg9adI4ME1gV6iaaTJgSk/EE+OzBwVFHq2vDyyRSHEkyqqD+yjE7ZYNgRMdHgcJMBEaS1kNEA2S+apVIPhijeXA== X-YMail-OSG: C.qA0sUVM1kSPpncm9G13h0Pq8rudPIXe7_TdhL4gyxBxObWdU3FVO8O4QuV4Sk UiNse8_s62Yc2WqU2AWc_KwaGgmyJMMUGiJN1kfqiLnXpIwQqNG7cuUAQXYDmCMSptsg0w0TGsvo c_iyZn97zWrWAUtl62G6a17TYkaHooIEvQZb6EMAc67zGoc.Ok1jtps7vsld0b6hDuZBg53g2hKZ NlUjCk.vhqDvqXIsnymZD0xB8Hq5WAU._8hFcnfKqneEtmL4qPDaTLikQNse2V90VJDOPLt33v5L dfcO.xcMzoo49S3kwRBLy_Y0MG6d.U55ujUTeomjQSzTG6OPgoNy4w5qadrjXLJg5owLdzIyGzpc APxu.J2JIyuGoMpfTjlzePK2icFXt7pac5n3yPWJAfaxRapQe5dNO8D.IhZt6ITljcRwDwmSCKHm zF41d3M9Zq.5IQ.fml9vHudBcst5Cz5hH_HeViauI00Q5DtnSkUSPysHvBmVICQs6KkJ4wOx_fvH wXmd7yGsnEqBKqUJb7cw8wERiNIKKD95XWNK0USAyZXlxha89rf7YJ8CJbgbTk.bkbjZxU9uzArC u7L8CqmL52g0xuZV00MyvPk6xVhZ0G07lHTtbil7zr0bGNCDJJkA9GryuVUtaVJbzRJsgHn4it0. WKw0CvKrpmH3_q3e4mExO2cXP.9a0sJ_ziurrAFlA_gwT5NJAwHL94ho4UW9tfbSVNOarijlz4eS hzgTF2KNuqmLW503jQK8QmrAr9wFzU2jaM7HM7DtNBNmXBBbKSmykD0C8zDYK7bg5TyHiBnET11_ uw7b8GKQVQ97Yye7cgvNFmfeIH7TsmizllAbnkl34ovcJzgWhQJTfdi4JKImmtf1SEzYaQr.tCdT pZgUkaypLsbR3uBqTWbawjhRlylsTFecZcMf8gutQtjwZWwpFEGQEbSEwxH7am.f8PXGyAO4cyjy cOLHLM70rOxEXxfouHyPq0PXFND04kkRoeDeWCCe9fK8mdCYNZzT0TqSt6UsHB2ZM6izDujbsPJz SB67KucA3XFT0OLTb2BjDWZhw92KU.iPzejK2NGtzLHC_eT5Z8J9KRkyM9q.rHkoZ3FUACARdMj3 ccgOZk_guQ8.JU_yjcEJ9XDoWAukFO.XOXL4w0urPntzS8oIzrzsXfxCgx6hZWt4hsvYrpKIbDSB 6yB.HCIT6uy.b8_I2_YEAxLlEZOcUy6Y2f5YrILRIzX89rAvx8AcBMGwEQFCHZmn8EmK6V5KarN8 EHPPfEENfGPRIeBL0amUTycUWeaN_KbBSPEIfM1Ht7BkBnP37iU2vyV7Iy1KCmSXGhG7ezPjlrQj MrA_YNdCqKvz0zO3WvlsQfVe4cQKaiVBAgoYQlglTUauktTzH8G_xazKlenIelyX64WAGtjHijpN YkUTyMOshzjKhA3mnK8JKaCgF7w789tQJbz0XW3xdubHIHkvV1aTeqMem3m6Y27fSpCAZPxfQ2Z2 l5ctIPl1hU7uNh1ElcHV6aDXrqgVNntLLxqNB3Kl3_grtXxdQTTPYBIdCcTlggiLnu3AA.g.EFut .ZJYhdmoLRzM- Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Thu, 22 Oct 2020 14:57:59 +0000 Received: by smtp401.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 354b2034a70b817070abfec37b60849b; Thu, 22 Oct 2020 14:57:56 +0000 (UTC) To: linux-erofs@lists.ozlabs.org Subject: [PATCH 3/4] erofs: insert to managed cache after adding to pcl Date: Thu, 22 Oct 2020 22:57:23 +0800 Message-Id: <20201022145724.27284-3-hsiangkao@aol.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20201022145724.27284-1-hsiangkao@aol.com> References: <20201022145724.27284-1-hsiangkao@aol.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: linux-erofs@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development of Linux EROFS file system List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gao Xiang via Linux-erofs Reply-To: Gao Xiang Cc: LKML Errors-To: linux-erofs-bounces+linux-erofs=archiver.kernel.org@lists.ozlabs.org Sender: "Linux-erofs" From: Gao Xiang Previously, it could be some concern to call add_to_page_cache_lru() with page->mapping == Z_EROFS_MAPPING_STAGING (!= NULL). In contrast, page->private is used instead now, so partially revert commit 5ddcee1f3a1c ("erofs: get rid of __stagingpage_alloc helper") with some adaption for simplicity. Signed-off-by: Gao Xiang --- fs/erofs/zdata.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index afeadf413c2c..edd7325570e1 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -1071,28 +1071,19 @@ static struct page *pickup_page_for_submission(struct z_erofs_pcluster *pcl, put_page(page); out_allocpage: page = erofs_allocpage(pagepool, gfp | __GFP_NOFAIL); - if (!tocache || add_to_page_cache_lru(page, mc, index + nr, gfp)) { - /* turn into temporary page if fails */ - set_page_private(page, Z_EROFS_SHORTLIVED_PAGE); - tocache = false; - } - if (oldpage != cmpxchg(&pcl->compressed_pages[nr], oldpage, page)) { - if (tocache) { - /* since it added to managed cache successfully */ - unlock_page(page); - put_page(page); - } else { - list_add(&page->lru, pagepool); - } + list_add(&page->lru, pagepool); cond_resched(); goto repeat; } - if (tocache) { - set_page_private(page, (unsigned long)pcl); - SetPagePrivate(page); + if (!tocache || add_to_page_cache_lru(page, mc, index + nr, gfp)) { + /* turn into temporary page if fails */ + set_page_private(page, Z_EROFS_SHORTLIVED_PAGE); + goto out; } + set_page_private(page, (unsigned long)pcl); + SetPagePrivate(page); out: /* the only exit (for tracing and debugging) */ return page; } -- 2.24.0