From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S974871AbdDXQko (ORCPT ); Mon, 24 Apr 2017 12:40:44 -0400 Received: from mail-eopbgr50103.outbound.protection.outlook.com ([40.107.5.103]:57281 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S974834AbdDXQkb (ORCPT ); Mon, 24 Apr 2017 12:40:31 -0400 Authentication-Results: zeniv.linux.org.uk; dkim=none (message not signed) header.d=none;zeniv.linux.org.uk; dmarc=none action=none header.from=virtuozzo.com; From: Andrey Ryabinin To: Alexander Viro CC: Andrey Ryabinin , , Konrad Rzeszutek Wilk , Ross Zwisler , Andrew Morton , Jan Kara , Jens Axboe , Johannes Weiner , Alexey Kuznetsov , Christoph Hellwig , Nikolay Borisov , , , Subject: [PATCH v2 2/4] fs/block_dev: always invalidate cleancache in invalidate_bdev() Date: Mon, 24 Apr 2017 19:41:33 +0300 Message-ID: <20170424164135.22350-3-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170424164135.22350-1-aryabinin@virtuozzo.com> References: <20170414140753.16108-1-aryabinin@virtuozzo.com> <20170424164135.22350-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: AM4PR0101CA0014.eurprd01.prod.exchangelabs.com (2603:10a6:200:2e::24) To AM4PR0801MB2723.eurprd08.prod.outlook.com (2603:10a6:200:14::25) X-MS-Office365-Filtering-Correlation-Id: 299a6b7f-5297-4bf3-60d9-08d48b309d65 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:AM4PR0801MB2723; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;3:TzHLzGMRnYuBlc2ApMQDWDEx5tIJg4NpSjBGSBdrSyqlj9OLKjMnJtrafSdY0LZLVyPrhyUebzT55gbxj3F4D/sL6B/zRjnMXSm8iyrrNb5zJt3IMOpiGuRNSS3PdnUeeKPt2TWquRnK93BJoDNMa9TcqWOsI46S0ak6yDgYXJ7H4Xfk3cGFKoePsFclC3ClDeLfE50XvFE/Mlbl4tun/YWAoeoJpZJ4PzMv3hj8QZzYNjjaSwxLAmGKCJqvkthdxZxDLf37HPuq6puTvy64xxLycw0R3mjrpVI3dViDeUPD1EK3CgCmHJKwVxMa7QmaTuzWIPqqcgldTc+yj0UqLA==;25:1eAm+v7mwdrcKiuMb0a3HIUb6Dc3rBgveb8IXQSn7pN+pXwlYKNgwWxWne52g0XYNb0Kov3pj9eAa2OsVvG4Rhrfp8DMqjIOzzATQMV7dZu7lK0yPwOJFWwZ1RGBKYS1xNq9cTqNQZu1mFim42xYXRW7kNTcu9kSVCfXQtyhGPisgMHqjHXRBLQ/cLP0Ycof3ygwsE7III9Ldj/qwStcWBmz4uIrf7Fytkzj+JiaonEnICltOCgws7ipFQw6holN/JhqCLAGmK7D9cBgoyGeEm5lrUsjWzqGeJ+Hnx+smbGEljRrJUZtIt98UEUczkE/8hGBE8uiTYffvANix6v45Sk09P0I1ZPossHT/vWAPgF4N+GXAfJG+fcGXTnbOyBBSdlbwsKNLRL6u/GDSXIZcWitHWutVZ8JspFKTA53OJvY6IgeQTL2QUnO22FfoqrD X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;31:5HeVshBOCFHIl6yxX4FmNCnDzJN4fOH8YBmPmzC5z4DJl0b3xjIFOXfn2x8GbnUNf5WMegM3/8z8On2XN3uDM1dE27b/C4FR8M5sjdVq4VtCQhQmeDdtqKqtHxUPENzNZJ7BIWg1zQ4yR0u9brkCU9dcrzAZ3ROIE0a5Jw1gNUgvVPlYlJ0EMoeZL71BU5M5PxAY/o7unufsOsV3+7r7Jtq1PPyt+ObwY0p0fm1zF48=;20:pNsFaxJMnwIgckbORStNqBvgDErOtbimxdaXIPLIe3GWF6j7d7liShheAwHO6tE4wLUE3cThbcGyPjA8JMUs5AHtAddCP7+H67FMQgx/OBmVYPnHCSec2W8TI5UtpAkm2d3xZ87SU1dgs9gpnTx6LpfnxSEn0Oy7yM/EOnz0CeGye2OxrIKx2xzeRCOfnn+2G6sEWKFXxKrLIjUEo0vQJKN2naBcteYs6JgD1YntXC7CBpeoyL/UWkeHl52Jx1Uu27eD1lE+T5xbSXGEGJp8KAVYE3djSSBl+2P3Q+2hDF/lYK+GkccXzYlgPdfdmwytSeVM3sztcKM9W1fDblT+68x4o2TKyJAqjmjw5SJwVrisKX8Tu4zyhEbnByz6cHS/Pae2iRdmDwMqpFTx3cSR04ffyhnRA1SNLP2qcw5q2b8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(146099531331640); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:AM4PR0801MB2723;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0801MB2723; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;4:ik5tw0xTfNceVs/f2jMux8SMN1S5n+BJCBfJCXU0y1bgFj7/pIfDIJYKtEZrNmWy6ud3IrnrXg31zJoo7oRJoCVvQymPhKjhFZHJVaXWqe3WahW737BrWjY6ej6LWZ5/RlEXNZxifWYkxocjZQWPTD6dwjqxP0XlyMFks3fqmYF/HHKSjq/+ucBIQdzWBsPVpHY2hncIRG28r75ZkhF5gBdWTAuTyy23km0Xjd+JVWNY5ViRXPdw1xsDiJ2P0nWFKEgQHyV52bPXJqhP3Cbxyyw25BaXxQdqW+yr2vvv4mMAw5rZlnWNDgWv4MFdUJxxihtlZ/Li5zuYu9m4A1RstLQQUV3tyYFWk0wwbspZ8JVxfeLD99dw4CQ4tMTC2Z3II7wHnMfyouOb9/HzKSkPjMD6T4VmieMvaDwQF3CR/LVq2B/mJvCXb6Ai3BCtur2DP7zUw2bYn3gK9RuMNhzC8W0iMadRneSLm4YLfRbuRdHnZSzgs417crc2n1xyH9FNV5pupdbf5yXe/JHjVpxi4FCGCB67d/3FSS5e3oGwUsEwSX0dFEt6w946rHGYkyGH0mNonzt67Qa/5qgajy+bUzgTg+j6I771ov/qb+FX+MJqOAXWiKGikVIvJ/LsNiKQOZna2p3rugW+KqoavbSgqCxty50WbxmGOA5w48WWXk3W4UkxQtQ8/2rPWKzjG3IA5ZFTR2/Yapgo39Lwk3r0Dn0Kj0aWcbVpdOXwDZA0nTXQ2EdtlEWkE7kL9GLY+cwJjiI0+ARZDDH4JhcK7C+HZcaJYUtkeZtgoo185NTNvWA= X-Forefront-PRVS: 0287BBA78D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(39410400002)(39400400002)(39840400002)(39450400003)(1076002)(3846002)(7416002)(38730400002)(36756003)(110136004)(50226002)(4326008)(6116002)(50986999)(76176999)(53936002)(25786009)(86362001)(6506006)(189998001)(6486002)(2950100002)(2906002)(6512007)(33646002)(50466002)(48376002)(6916009)(5660300001)(6666003)(5003940100001)(54906002)(42186005)(7736002)(47776003)(81166006)(66066001)(8676002)(76506005)(53416004)(305945005);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR0801MB2723;H:localhost.sw.ru;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM4PR0801MB2723;23:13jUz2fegU/xj+BEcadv29wY9Jz4hdJeJwslsHh?= =?us-ascii?Q?3Xkoyp5MdB8CqIH8IbnhIE1B6aTqNm2g7mT7Km6P/0uRg2IdPUIWXUU4w+KP?= =?us-ascii?Q?fhxCc+cJm438mWhbL9BZ7fXi42ZI5cM8JGA+lxhXuLikXultC4PxKV0zRKCq?= =?us-ascii?Q?llk9F7EWU/O1kEaJFxd7I7NrHgRDsmwDjbTpYSVQMkrnqsUb3Wh32UNPI0Kn?= =?us-ascii?Q?TaMQpSvRvLOrkOlhGFl/lib5DdlDaa/P7l8aN+ys58b+TAKcC71UcaUPyaWR?= =?us-ascii?Q?VhwlaC/TwFKgHL6C7ybKF8eqq8J4JwtRyL6qKL9MZGzi8oPDGpKWLEmGaLeR?= =?us-ascii?Q?S0duOrspbVbwMB4b11Ft3BpVS+8ID4fDcfI8lR7/M6K5NcaDMRYXz1pzMH9g?= =?us-ascii?Q?afjRCEQmHluJJqQttwppLWJRyZ6GLykTQ50WcxE35/5Xusl3INgzd7WQcrYe?= =?us-ascii?Q?JruBGEH5DxqfmFY2nhxJ7uu77AsyVXDWv+NF9xGhtdOaI2cW7SEBRtjQ0tV3?= =?us-ascii?Q?3zVdZdY7uSPGtGIzfGh+v3pYoqHghLK5r+KcJeT5Cd1dyjEuAhlWdiRYE7UL?= =?us-ascii?Q?LeCpPE98Q8Dxdtoa03xcFCgzE55goeq3BrP5j/JOTqlsdNXiQg4QR87x9TF6?= =?us-ascii?Q?atLdtqsQNtO8Tq5Nr1T5ZJyjEIB2pWKR9aWlOcfuE4L/cUBBllC7JlKpXQZn?= =?us-ascii?Q?gtr9T1cVO/rXiHnL09X7n5EeUFL1VVEtjHh64yDuxYAN/iBr34icIuH0T1QF?= =?us-ascii?Q?inFpTuH3qtFOwWA4QjHmtyXuW6P7ASEoPWmykF76WavQdrX5F6u2SwlkDm4G?= =?us-ascii?Q?7cchqF8WlgX5mRnFL5vKKXE44I4swdaL7dxDQ75735X/Cfaleijen5XNPYZV?= =?us-ascii?Q?A5hL/Se9RwNj9vN1o+TuG4UfdnMoKwxuoRrM5jvXjK2ekLZByPNIRY1eG5jN?= =?us-ascii?Q?Zipc2szDznDLQpaJuZnRVLVb1Fw/tzt7BpSlC3ymYCU1V+hmUTaDRPdBUB+F?= =?us-ascii?Q?BBZ5w3dmXYodHfRxlB4rY2Nu+LFX/nnJXnmNmKy+VC/9J763t1Z2QK8mfNvj?= =?us-ascii?Q?HjFTGp+CCTHZTTewTqKL+s6No4D59h6f/ci151xAE8WzDa/4pdQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;6:1Sz5PS0j0/goYCMkx2jCwD4fStLrtQa8jYf1BoRIeLisSpXBWdr776n/o/8SILcbZaWI6G3N3Cb3/XsnZPTIK8oc7WpM+6Yr4pis5BRS0/uW47p1/uA+MBAX8GkPkLu0h0MXWxBpTH4ZqxB1scap+y9mpJOj4EK503PM+Dady5ZLmBoFwsTaORV8rqvpg5ftG6S8a9brLoBTD4UnA0Vm1MzYBj4vG/++30dAzqGDTKtx3qu+1fQZq7l1T3rjFurpTLDZ4mSRQbloIok5v/CytHIfqkBb9hsinx+W3y6+dphmi2JoItg4TcGUFhtphI3Cz90pV12xBCdTkJqo38+eQUM2ivZOt3zbtSCBtxaKFhJn7du0PMC5yN5AyaaJmn3S7BMceer8m8XGVt2Uff050VoxFIjNqOiRW3mAvWxly5a9dglsdcnZwZG9SD4bPnQcotUTxo8VD3mk9KeM7Be33QNgczJo2lG+Zd6lWqpmlgHhdI+MdcLLpjZIw0rvwTyw8TQzt/ZOqiLtCSJ0pxdfrw==;5:inL4P2p+Gfx+J/YG0fWmzjEL8xoKJJ9+n/U611nu9EXTPGhdw27sfNiV1FQbr0mek/VGrUJ7Oc41uCtB0YTYy5DPdTLeY3Day8+t4itIHB9tTtwz+Aqdhsax8Cngl1wduX43yanCkp6KxOSsb+NFuw==;24:PvjFsm99axhYj1Zt5PczjqVMCmARYInCYE7twXuG6rEzMSAYfQ3+2p/RlAOiTfAXCz4x7zXOoiCVnQHeQMittEpKGqtHGyB+zkqWDSW4nuc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR0801MB2723;7:qJe9IrRYvL0+nYvMFkByaZEdbSHZkah8iOkWg0wETwx30D94WfaJx8OOE83zCR//uF4f5uFM/4CaRg0SAEGRNkwrzg4ftIVnegiT4sLWEWD+PC97BJ2W0baJQ9Vs3gZgzmuupiJvYtSZpNjb+7qkB/g+AmWZmZ/clxKKUTbQvOyh6ZUiGK1hYFdm1ngZRpXxo/6EVASjoSB7xHHn3qEbrUqbCNV4SVfWbp2GuL84PI0dHPDMUSKbg/BMDOIiFYSYbPUbc0OVpBcc2wngSfZm/TTzP+ttmYcdHBijiSq/gurJB6giDdVm6kKGvg4/bf0eAzp+OaNulumaGYGx2IAULQ==;20:fcVT5lBIdFJqx9ANCNGItW+VNhm+merjxttNKrZFpcSd25RDACrpKpz7kWITh907pu4mo6/AvceKSfjGNBz8DsiQhc8j9WGnZ8K87dfSw+ImfYZ9iApIsxh+Ckh54KckjUNYKLDdOS+i5Oi+K9zgGbL8eodGAP1ob/3vUfm1uJo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2017 16:40:23.1739 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0801MB2723 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org invalidate_bdev() calls cleancache_invalidate_inode() iff ->nrpages != 0 which doen't make any sense. Make sure that invalidate_bdev() always calls cleancache_invalidate_inode() regardless of mapping->nrpages value. Fixes: c515e1fd361c ("mm/fs: add hooks to support cleancache") Signed-off-by: Andrey Ryabinin Acked-by: Konrad Rzeszutek Wilk Cc: --- fs/block_dev.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/fs/block_dev.c b/fs/block_dev.c index 065d7c5..f625dce 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -104,12 +104,11 @@ void invalidate_bdev(struct block_device *bdev) { struct address_space *mapping = bdev->bd_inode->i_mapping; - if (mapping->nrpages == 0) - return; - - invalidate_bh_lrus(); - lru_add_drain_all(); /* make sure all lru add caches are flushed */ - invalidate_mapping_pages(mapping, 0, -1); + if (mapping->nrpages) { + invalidate_bh_lrus(); + lru_add_drain_all(); /* make sure all lru add caches are flushed */ + invalidate_mapping_pages(mapping, 0, -1); + } /* 99% of the time, we don't need to flush the cleancache on the bdev. * But, for the strange corners, lets be cautious */ -- 2.10.2