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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB691E95A67 for ; Sun, 8 Oct 2023 21:21:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B9756B010E; Sun, 8 Oct 2023 17:21:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 319FA6B013C; Sun, 8 Oct 2023 17:21:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BDAF6B0112; Sun, 8 Oct 2023 17:21:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 079E06B010C for ; Sun, 8 Oct 2023 17:21:38 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C8AD9A01DE for ; Sun, 8 Oct 2023 21:21:37 +0000 (UTC) X-FDA: 81323565834.20.6A1F0A7 Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) by imf19.hostedemail.com (Postfix) with ESMTP id 184371A000E for ; Sun, 8 Oct 2023 21:21:35 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lKaeC2Eh; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.210.48 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696800096; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7tFkgfW4cZbNG3g5YvrO+dBVaVKzGdwwIuQTmQTY0jc=; b=ztQDbSGgFAV+JL4r+TIWGrAEGBY7tTpFz4meb7OT4ilCBQxdMRNbCJD/fVaKhno7k4nV0X IBVT4mckHBvHIp35dNqHqHG1GpcpPjWZF7eFGfEjdceD5U1u9vtunJ5Y1NpdDG98wbSh/h 0IBXtwecg9fwLIIkdXFBkUYtHZMUbfs= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lKaeC2Eh; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.210.48 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696800096; a=rsa-sha256; cv=none; b=kGz6IWQQAELdNXh2hnERWVGz0sZT+kHSnNv/hFRsjEeDcTvDn4nNKuXLgrI8ZhIMf82RhD /CQKu689ZzxnsaWB+BJQSyo37dGc4ucRQItE0VOrzDFAJveRmjD+WIVokLG2KJWJXpSXHz 0j94HzUmoeoO75bnUlHkwZ/4VgqnnIQ= Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-6c61d955161so2185878a34.1 for ; Sun, 08 Oct 2023 14:21:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696800095; x=1697404895; darn=kvack.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7tFkgfW4cZbNG3g5YvrO+dBVaVKzGdwwIuQTmQTY0jc=; b=lKaeC2EhucrMoeevdkHr2EjjFrhrEqr30DO23mhwS8nLLqPOEV4ghKIAb6qVEpuwpi zhRALxY97k2GLxdUWOqt4EHG/iBVKJov+Pyo0HJXuqMGoKVBYH5huf29IKcHIk/KGXUb Ilq9nHXFeR3lJZj0QJkEfuYmgRWjHLpzSWaihjfNPZ7mFbdHFL3vzLqVRowDOdd3NoDj KAzva+q0SSFJHlBI/lRUZttHnKnZDUd5+pF8raMJMdfVq4Z+QBEzsKshvANeT2pGfCsn 4RbvcCTIzo0WZ8QLI2x+V59fsVD51qt4prERR0T+dHeHeoEjVyG8Tv+MfyuoJ1+uf25N Pa5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696800095; x=1697404895; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7tFkgfW4cZbNG3g5YvrO+dBVaVKzGdwwIuQTmQTY0jc=; b=KFGDkrvJGBGhJTVFMO52Pw7uhHVkXcjNK167p1NwleD6u5g5oclAw2HAxdaAZyFwvY ggPE13QuPzfk4FTlvlw5+11WuwyGsdyIGDGhC7p2R1nIzkJZfu297vibKPEIiEL8Dzob jys2gfr2vsUaBX9cTzOLUqxXgkVpw9kqlKvF1VDFi0TITtAajUtX7OdHVrBWlNHJ9SES PYjhLhTjHHa1NIUrgx+H9dCn/hXEklDxdI+PKPcHYfeaL9y1NwltFd+xI1qxALuj1jMr xne19mhRQ3+YQuXHeourHyQ2X8nfht2h+lAu03pUZ7I9kSg7rmLohRRkyDFP/4CIvKg2 0Q+Q== X-Gm-Message-State: AOJu0Yzu1mFjiNhK9jdKm+FTDALKDg/GMQZywZLk5PpoLrdIi6j7mH+I uzzxuAbqQEVZtzKufE15gF4GZjFCheY0zujU0Yg= X-Google-Smtp-Source: AGHT+IG2X00Izsq8yJBHpE/SbCtPB2p4GnsaqwRMKU+ZKdCHKskj69ge6judSTj8+aIg/9Lz64Olraz14Kpd2Ju2OVY= X-Received: by 2002:a9d:6d0d:0:b0:6c4:6aef:cd58 with SMTP id o13-20020a9d6d0d000000b006c46aefcd58mr12438764otp.8.1696800095162; Sun, 08 Oct 2023 14:21:35 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ac9:5786:0:b0:4f0:1250:dd51 with HTTP; Sun, 8 Oct 2023 14:21:34 -0700 (PDT) In-Reply-To: References: <20231007203543.1377452-1-willy@infradead.org> <20231007203543.1377452-6-willy@infradead.org> From: Mateusz Guzik Date: Sun, 8 Oct 2023 23:21:34 +0200 Message-ID: Subject: Re: [PATCH v2 5/5] fs: Add inode_assert_locked() and inode_assert_locked_excl() To: Matthew Wilcox Cc: Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chandan Babu R , "Darrick J . Wong" , linux-xfs , linux-fsdevel , Christian Brauner Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 184371A000E X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 11b8w3hrwyh9fc3ggj9qzcrc4kfhotm5 X-HE-Tag: 1696800095-361069 X-HE-Meta: U2FsdGVkX18sNdhYpQepbz1jsdBduY/ZXbLq1HBom8oDj8+GJK1oNAhq3G1qWkxDyNWo5gu3dZYBAmKGCJP4hD1i09GNEOXGRna91CpbO4UrLiQpXylH8/p4FEh1ioeF7LvAuux7iBAT4/JJDRDVxJLng6N+7pCl5CfueKzf3p5cpRLx5pn/U1B8gUYRhKhlH05PIq7iY/nQ0Az/pFEIe3QMzPKSMSRF0SMqwgiESPUn+qxz9LEUhpWJMetFBJtk2SsqD1n5y2DYMEA/tmKwxtxMjO2mBSlfXZPUG7SY9OVdNNHrWxYNjyOPS2oBxkFsl7h/g3M+JN4f5lqSKjMgjL9AUzK1QqA0JAoIjpbpsGcnI3LEKwN8AAUeeEliqHTjidNGRrBC9v7foBGwnCMAJjDafqKTpBP4hZOfOe4oDOL0V+lk+ldBVQxR7ISHJz+r8OutV8tw2hEy9p10IFnVa7f3znyAxyUJjY/iWVPiJuhNwBe+OpvkHBvM4DS4rRVqdLNb3mA6Q1DyRX2w/ZovjZXfn+yY0VjqaZxHGugAVZxL9obvr2uevt7QkDkc4AfFa7sJhvO3Uhrn0pNct1WNhEhyH0C0Htx/bUdv31jD1k9m7GL3jat9wX1V5w4dsXrslM8lvveqlbzet2t86SQYAStE6JV53NKBnjTkwcYfEJtCLoRCmKFBTzH2Xvwh3jgfJeWiS4pEfBNwB/mR/FfzEZ2rYTHV7S0BY9zdgdus9gwbkuR8uUbedcPCGbl6ktjdxZYQzX9CABDt/ZXg5pZ8ZbCoXwlDa1HvDC2RlE7uUCk4p5yDT/7kuSzzK65TEt3UgGWn42GE2j2wctaXFNQnMQ2jGOYifdI/JtKU86y8eOlAXsiMp+j9GKR/KQfbzXrDYvT+3lHhcXZXul8P9CquZQv3h/OxN6cs1kjQN85ejFuNg+uk2Xja0T7ll4qRHMnG/7d02raO+OBLokApp18 n6DHLTxE 9SVIu3cy/bRgmFhbE+0C3mslUIe9/MnzLcigzhCsgECAfJ/uQudUz71kBg0D6sC/pJuRP6TzdCc6ig3u4kjBpMfZ82EYayKB5UZfSK5pwhIk8V+woeeJHHEDNBrYCqb1TeKI55mJB3aqUQvrs1CKjAXSrq6Q5a37ZGn3V3VB58wF6cfx7F1Bqi3oJn2RpetLqaJZ5tGEzRFL4xwSdGtp1GcjJDmBXA+2Bmjve0o8Uorb1HKGlqCf6OjsV6XnMHwgFxXgoV5cvNMdPo5ZSHQXwyX+XmGRNA63KTtks094fzJkYaNopZqMUBQetTpTPTue+NxwNB+2qMWUUaxsdnGkkBX0EYMYqwajVZPxSESt8VQgwp3RkvL8dqkR5W1A/dIOPP/k45IU+h9/oQUxhFrwvASILKweo/aWDqIQQ/5gEj+bPFhnkU1J8NndcdyzpesaUQiYapNdJrSkHvi9lmQGW1ZxPETlbGvWXFTLg6OJpo8MfBlA= 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: On 10/8/23, Matthew Wilcox wrote: > On Sun, Oct 08, 2023 at 10:26:40PM +0200, Mateusz Guzik wrote: >> On 10/7/23, Matthew Wilcox (Oracle) wrote: >> > +static inline void inode_assert_locked_excl(const struct inode *inode) >> > +{ >> > + rwsem_assert_held_write(&inode->i_rwsem); >> > +} >> > + >> > static inline void inode_lock_nested(struct inode *inode, unsigned >> > subclass) >> > { >> > down_write_nested(&inode->i_rwsem, subclass); >> >> Why "excl" instead of "write"? Apart from looking weird, it is >> inconsistent with "prior art" in the file: i_mmap_assert_write_locked. > > Yes, but that pairs with i_mmap_lock_write() / i_mmap_lock_read(). > > The problem is that we have inode_lock() / inode_lock_shared() > inode_assert_locked_read/write doesn't make sense with them. But > inode_assert_locked() doesn't make sense as the assertion for > inode_lock() because you'd expect it to assert whether the inode lock > is held at all. So I went with inode_assert_locked_excl(). > > I wouldn't mind if we converted all the inode_lock()/shared to > inode_lock_read() / inode_lock_write(), and then added > inode_assert_read_locked() / inode_assert_write_locked(). That's > a bit of a bigger job than I want to take on today. > I agree it is rather messy and I'm not going to spend time arguing as it is not my call anyway. Speaking of that, I just noticed the vfs folk are not CC'ed, which I'm rectifying with this e-mail. -- Mateusz Guzik