From patchwork Tue Nov 28 09:31:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 170642 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3789407vqx; Tue, 28 Nov 2023 01:31:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IFEsqhSW0u1Iemuw9b8dbYp0FPbwtSvdEG11xNm1DSv1GAgMOuX9hy0F6KX2Pboe1PnxsU7 X-Received: by 2002:a05:6a20:7494:b0:18b:386a:46a4 with SMTP id p20-20020a056a20749400b0018b386a46a4mr19159922pzd.18.1701163915934; Tue, 28 Nov 2023 01:31:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701163915; cv=none; d=google.com; s=arc-20160816; b=yJy56iKonwj/HXH/DW76gdMiWoqayuAEPVYvzpSc0Xz9il8HQ1+sIp2jnztTBZC/dR Y+b51I6I+tqk31TRzVoJSkRXLpspDhY1je3ab9UxLOu8G8g/A2sDGwCpLw7c5in1WWW0 EuVkzQi9TZmBcAZZwFafWnQm4UbklYF3g0o0UH5D+a+vOJUBkCkBBNgwrRIAuCFqwwlh G93YN1XuezI2Dax1FVbpyyKONI8ExvjxFYDbo8A5jWgxOYFfb5+vcLciFhdUDeriMgJ1 D1U29DQ3z2uGt3D66x3ab2BUGqLWI4mZapuJGzEhIiQBR42dhFar/bRsqkHSJFjVwPO/ kglg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=KfcTND6BssLdpzmPYPlDYig9sIrB6I9wGFcgPo8r/xE=; fh=X1/oBJvTGJUQ0YtRp03u+3tPfRw/dXXALWynfOSlfQQ=; b=WGb3m0AzHzDH+jKUBDsiUpuAlA4UK9M+WwtXRpOxk2/IpxGJYLfpYQJqL+Q4Qh7Kcs vpD3mMVy9yt3fDb4MXqZbCt+0jiHax7LteCt5VrVDpL1JwBFZ4Ks50047oDZwIF8+RiE VW+veCSyxoYhvRZEFsoHqN9CWZAlBaaCOigQq27hnOfbssNKUclJ7IHsNIecFRjE0+ZD xdfbhUjEv95AYMd/A3GNEaYERviCdKRagwqHueDqQJwjAeJEWEYUR1ax4pE8KGAQjgWu H28h3yvFtm/oGIl2MIepYpZXNJ++kCYX0N2mHgf+xhBu13BkW3wITu4l14yAjGjD6g/6 S6Qw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uM+SHt9G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id n19-20020a170902969300b001cfd183c4f2si3555883plp.520.2023.11.28.01.31.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 01:31:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uM+SHt9G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id AD2C3804C600; Tue, 28 Nov 2023 01:31:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231316AbjK1Jbb (ORCPT + 99 others); Tue, 28 Nov 2023 04:31:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230105AbjK1Jba (ORCPT ); Tue, 28 Nov 2023 04:31:30 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0ACC1DA for ; Tue, 28 Nov 2023 01:31:37 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 08D9CC433C9; Tue, 28 Nov 2023 09:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1701163896; bh=2Dql++FKHJ8HVSjhd3VZ6CSZcME1Follek+sE8aZeJw=; h=From:To:Cc:Subject:Date:From; b=uM+SHt9GX2KUqUvXgBd787svm6ARgraDkrqYaF6Egelrh2xG59GlsMUcB7PuMpCpw 6N6MzY5q9OOYsB05ub5yHlVUthLCGmAjeYYBhQLo8bWgSgomf5/qUpyYjJCRD30das N3FEk2RSidtpASei6n2AU0i/C3+jf5QHGIii/tT3QBJiDoB+i3aeu13+MWd0VGgp7S S2tM2q5R2MNnicIEWoZfhFeh5QihqXBK/A8QNrHzd64rPxH8tifvfOy35jpC/AIqCw gwucsOqVaa7KilE2a0EZDW4PrF8FDCwSJAv1yFCTNiYH7md9gHQI0U3s7Dui9Ldj53 CRgxi4y927gLg== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH 1/2] f2fs: introduce tracepoint for f2fs_rename() Date: Tue, 28 Nov 2023 17:31:29 +0800 Message-Id: <20231128093130.2885216-1-chao@kernel.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 28 Nov 2023 01:31:42 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783799654368018020 X-GMAIL-MSGID: 1783799654368018020 This patch adds tracepoints for f2fs_rename(). Signed-off-by: Chao Yu --- fs/f2fs/namei.c | 16 ++++++--- include/trace/events/f2fs.h | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c index a765db9e26c2..ede6afb81762 100644 --- a/fs/f2fs/namei.c +++ b/fs/f2fs/namei.c @@ -1315,21 +1315,27 @@ static int f2fs_rename2(struct mnt_idmap *idmap, if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE | RENAME_WHITEOUT)) return -EINVAL; + trace_f2fs_rename_start(old_dir, old_dentry, new_dir, new_dentry, + flags); + err = fscrypt_prepare_rename(old_dir, old_dentry, new_dir, new_dentry, flags); if (err) return err; - if (flags & RENAME_EXCHANGE) { - return f2fs_cross_rename(old_dir, old_dentry, - new_dir, new_dentry); - } + if (flags & RENAME_EXCHANGE) + err = f2fs_cross_rename(old_dir, old_dentry, + new_dir, new_dentry); + else /* * VFS has already handled the new dentry existence case, * here, we just deal with "RENAME_NOREPLACE" as regular rename. */ - return f2fs_rename(idmap, old_dir, old_dentry, + err = f2fs_rename(idmap, old_dir, old_dentry, new_dir, new_dentry, flags); + + trace_f2fs_rename_end(old_dentry, new_dentry, flags, err); + return err; } static const char *f2fs_encrypted_get_link(struct dentry *dentry, diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index 793f82cc1515..36d9e29ca3c5 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h @@ -866,6 +866,75 @@ TRACE_EVENT(f2fs_lookup_end, __entry->err) ); +TRACE_EVENT(f2fs_rename_start, + + TP_PROTO(struct inode *old_dir, struct dentry *old_dentry, + struct inode *new_dir, struct dentry *new_dentry, + unsigned int flags), + + TP_ARGS(old_dir, old_dentry, new_dir, new_dentry, flags), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(ino_t, ino) + __string(old_name, old_dentry->d_name.name) + __field(ino_t, new_pino) + __string(new_name, new_dentry->d_name.name) + __field(unsigned int, flags) + ), + + TP_fast_assign( + __entry->dev = old_dir->i_sb->s_dev; + __entry->ino = old_dir->i_ino; + __assign_str(old_name, old_dentry->d_name.name); + __entry->new_pino = new_dir->i_ino; + __assign_str(new_name, new_dentry->d_name.name); + __entry->flags = flags; + ), + + TP_printk("dev = (%d,%d), old_dir = %lu, old_name: %s, " + "new_dir = %lu, new_name: %s, flags = %u", + show_dev_ino(__entry), + __get_str(old_name), + __entry->new_pino, + __get_str(new_name), + __entry->flags) +); + +TRACE_EVENT(f2fs_rename_end, + + TP_PROTO(struct dentry *old_dentry, struct dentry *new_dentry, + unsigned int flags, int ret), + + TP_ARGS(old_dentry, new_dentry, flags, ret), + + TP_STRUCT__entry( + __field(dev_t, dev) + __field(ino_t, ino) + __string(old_name, old_dentry->d_name.name) + __string(new_name, new_dentry->d_name.name) + __field(unsigned int, flags) + __field(int, ret) + ), + + TP_fast_assign( + __entry->dev = old_dentry->d_sb->s_dev; + __entry->ino = old_dentry->d_inode->i_ino; + __assign_str(old_name, old_dentry->d_name.name); + __assign_str(new_name, new_dentry->d_name.name); + __entry->flags = flags; + __entry->ret = ret; + ), + + TP_printk("dev = (%d,%d), ino = %lu, old_name: %s, " + "new_name: %s, flags = %u, ret = %d", + show_dev_ino(__entry), + __get_str(old_name), + __get_str(new_name), + __entry->flags, + __entry->ret) +); + TRACE_EVENT(f2fs_readdir, TP_PROTO(struct inode *dir, loff_t start_pos, loff_t end_pos, int err), From patchwork Tue Nov 28 09:31:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 170641 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3789392vqx; Tue, 28 Nov 2023 01:31:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IFnuIxN+zY+P1YPD+jTEjDMfkJ6AVm79Mjkxs0zhKZXKIV2iMInMbW6fguItruJJwbROu0v X-Received: by 2002:a05:6a00:14c8:b0:68f:c078:b0c9 with SMTP id w8-20020a056a0014c800b0068fc078b0c9mr19852457pfu.11.1701163913200; Tue, 28 Nov 2023 01:31:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701163913; cv=none; d=google.com; s=arc-20160816; b=ita5vfzf4dlnjYfH8sbeek00G0kjU6o5iSosn/tdSpnQWjzVYaJYmBR+YsKHWkmByH /h+65EzSswcpwriPZxXD2ne0vpE+CS6WCGyi7i3p+yaOZpG2pa0096K2yn9Xd4a2eSIj l+2y4sXB1Gmq4lV2rIyoT4DAc8quwhsZbNdwJMuV5fN2HNAbmzkxi4Gqs2QV5vvnPb+z Z237f6VDNdMs7kZWrgr/nEnBpK6EeETzfeLuuq4o67hQikROMcv4Da/ozEVy865kHHV4 8j5QKzkko0NpiuCOtxgk3HX7Sc3aXkiM3kTMoM+IUFIpyEekO8htmETB5xQq/juzqDDj VzOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Yrf0Ha5B2dVQ1oyjwhbawOKsSsKx44e9w1NM0Ljj7Is=; fh=X1/oBJvTGJUQ0YtRp03u+3tPfRw/dXXALWynfOSlfQQ=; b=ZuZC6fxK85451UiHLGirZJOV+6cLBvoRfrpBBc2Ai0DXGjn7rcvlb1LTSh3ztC6vKq 5vI7EGyQbHdC2NnHhwaNq5BYeR4dIWkd8BkDDJQ3Jr8swDz30RnxjhrBKx9oKwtxaMJs esJhF8bJ0e6JyMFnLS9etXuz424i+4MBey1ysCMmiSW1zxFAZImwG4i1c6CRHeAde9AR T7b1xngSngU35fSZC2qg/zJwPuIhBGdYp9FYYvIaLRZfFUKwNcUNU1Y8NZ5+M0YX5oPS 6fYUCB3RHadK8gu9brk/e3y0PoIzL5NK3hrtpohJZr50mEwJ8ENQBwK5to8ev/uffIuT GFEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qfoI+uJu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id k6-20020aa788c6000000b006cbbacf7aaasi12058523pff.29.2023.11.28.01.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 01:31:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qfoI+uJu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id C3FCD809BBBC; Tue, 28 Nov 2023 01:31:50 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343675AbjK1Jbe (ORCPT + 99 others); Tue, 28 Nov 2023 04:31:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234626AbjK1Jbb (ORCPT ); Tue, 28 Nov 2023 04:31:31 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A10D6CB for ; Tue, 28 Nov 2023 01:31:38 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E569BC433C7; Tue, 28 Nov 2023 09:31:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1701163898; bh=G4S7OaZ+7+gNaP/ANhOUYrSGPJa7mnRp3UrQ13Aljts=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qfoI+uJu2cYqV1quN6GEoY4pCDQoAKo0iNtVygR0GM8h9rYdGgSFovSUq5fsp3DCN XR+bFFHllMZOdmUp36p1PQsjWXcdmmFjihsNpv8BHhj9C5Uv4PI7mrN5NvgMkiE9py vCRGCbgBt9k4Bq788JiNDjMGU8uuVklRGZIlU0vv5xo3pqsrUG95wo3CDIuyUcOEDl 9LKaRi2KZFPmvn22MBt5odlp4lV5XLs1yrZe4Our8dSOGpROTUIglCJ4wsD6LH2wdO 7C47lXZZFmWGIMxlc1r433jYvzujanL5pfrVbQEKGxqQF68ZOOtA3fGtXzW5uhX9x1 wwzh3a//mHh9A== From: Chao Yu To: jaegeuk@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Chao Yu Subject: [PATCH 2/2] f2fs: show i_mode in trace_f2fs_new_inode() Date: Tue, 28 Nov 2023 17:31:30 +0800 Message-Id: <20231128093130.2885216-2-chao@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231128093130.2885216-1-chao@kernel.org> References: <20231128093130.2885216-1-chao@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 28 Nov 2023 01:31:50 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783799651373462719 X-GMAIL-MSGID: 1783799651373462719 This patch supports to show i_mode field in trace_f2fs_new_inode(). Signed-off-by: Chao Yu --- include/trace/events/f2fs.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index 36d9e29ca3c5..479d26eae22f 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h @@ -161,6 +161,19 @@ TRACE_DEFINE_ENUM(EX_BLOCK_AGE); { EX_READ, "Read" }, \ { EX_BLOCK_AGE, "Block Age" }) +#define show_inode_type(x) \ + __print_symbolic(x, \ + { S_IFLNK, "symbolic" }, \ + { S_IFREG, "regular" }, \ + { S_IFDIR, "directory" }, \ + { S_IFCHR, "character" }, \ + { S_IFBLK, "block" }, \ + { S_IFIFO, "fifo" }, \ + { S_IFSOCK, "sock" }) + +#define S_ALL_PERM (S_ISUID | S_ISGID | S_ISVTX | \ + S_IRWXU | S_IRWXG | S_IRWXO) + struct f2fs_sb_info; struct f2fs_io_info; struct extent_info; @@ -215,17 +228,21 @@ DECLARE_EVENT_CLASS(f2fs__inode_exit, TP_STRUCT__entry( __field(dev_t, dev) __field(ino_t, ino) + __field(umode_t, mode) __field(int, ret) ), TP_fast_assign( __entry->dev = inode->i_sb->s_dev; __entry->ino = inode->i_ino; + __entry->mode = inode->i_mode; __entry->ret = ret; ), - TP_printk("dev = (%d,%d), ino = %lu, ret = %d", + TP_printk("dev = (%d,%d), ino = %lu, type: %s, mode = 0%o, ret = %d", show_dev_ino(__entry), + show_inode_type(__entry->mode & S_IFMT), + __entry->mode & S_ALL_PERM, __entry->ret) );