[{"id":3677424,"web_url":"http://patchwork.ozlabs.org/comment/3677424/","msgid":"<CAH2r5mtMfW9fmaFi2oC33zTmof_o=Wzj1Jxuye1Dd3-wad1siQ@mail.gmail.com>","list_archive_url":null,"date":"2026-04-14T23:10:04","subject":"Re: [PATCH 1/4] smb: client: add tracepoints for lock operations","submitter":{"id":510,"url":"http://patchwork.ozlabs.org/api/people/510/","name":"Steve French","email":"smfrench@gmail.com"},"content":"merged into cifs-2.6.git for-next\n\nOn Tue, Apr 14, 2026 at 11:18 AM Bharath SM <bharathsm.hsk@gmail.com> wrote:\n>\n> Add tracepoints when lock operations are sent to the\n> server with details including lock offset, length, and flags.\n>\n> smb3_lock_enter: before sending lock request\n> smb3_lock_done: lock acquired successfully\n> smb3_lock_err: lock request failed\n> smb3_lock_cached: lock granted from local cache (no server roundtrip)\n>\n> Signed-off-by: Bharath SM <bharathsm@microsoft.com>\n> ---\n>  fs/smb/client/file.c    | 10 +++++--\n>  fs/smb/client/smb2pdu.c | 15 ++++++++++-\n>  fs/smb/client/trace.h   | 58 ++++++++++++++++++++++++++++++++++++++++-\n>  3 files changed, 79 insertions(+), 4 deletions(-)\n>\n> diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c\n> index 5d5b49468aff..66a678a0e89f 100644\n> --- a/fs/smb/client/file.c\n> +++ b/fs/smb/client/file.c\n> @@ -1712,7 +1712,7 @@ cifs_lock_add(struct cifsFileInfo *cfile, struct cifsLockInfo *lock)\n>   */\n>  static int\n>  cifs_lock_add_if(struct cifsFileInfo *cfile, struct cifsLockInfo *lock,\n> -                bool wait)\n> +                bool wait, unsigned int xid)\n>  {\n>         struct cifsLockInfo *conf_lock;\n>         struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry));\n> @@ -1727,7 +1727,13 @@ cifs_lock_add_if(struct cifsFileInfo *cfile, struct cifsLockInfo *lock,\n>                                         lock->type, lock->flags, &conf_lock,\n>                                         CIFS_LOCK_OP);\n>         if (!exist && cinode->can_cache_brlcks) {\n> +               struct cifs_tcon *tcon = tlink_tcon(cfile->tlink);\n> +\n>                 list_add_tail(&lock->llist, &cfile->llist->locks);\n> +               trace_smb3_lock_cached(xid, cfile->fid.persistent_fid,\n> +                                      tcon->tid, tcon->ses->Suid,\n> +                                      lock->offset, lock->length,\n> +                                      lock->type, 1, 0);\n>                 up_write(&cinode->lock_sem);\n>                 return rc;\n>         }\n> @@ -2342,7 +2348,7 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u32 type,\n>                 if (!lock)\n>                         return -ENOMEM;\n>\n> -               rc = cifs_lock_add_if(cfile, lock, wait_flag);\n> +               rc = cifs_lock_add_if(cfile, lock, wait_flag, xid);\n>                 if (rc < 0) {\n>                         kfree(lock);\n>                         return rc;\n> diff --git a/fs/smb/client/smb2pdu.c b/fs/smb/client/smb2pdu.c\n> index 5188218c25be..61bae531959a 100644\n> --- a/fs/smb/client/smb2pdu.c\n> +++ b/fs/smb/client/smb2pdu.c\n> @@ -6277,6 +6277,11 @@ smb2_lockv(const unsigned int xid, struct cifs_tcon *tcon,\n>                 smb2_set_replay(server, &rqst);\n>         }\n>\n> +       trace_smb3_lock_enter(xid, persist_fid, tcon->tid, tcon->ses->Suid,\n> +                             le64_to_cpu(buf[0].Offset),\n> +                             le64_to_cpu(buf[0].Length),\n> +                             le32_to_cpu(buf[0].Flags), num_lock, 0);\n> +\n>         rc = cifs_send_recv(xid, tcon->ses, server,\n>                             &rqst, &resp_buf_type, flags,\n>                             &rsp_iov);\n> @@ -6285,7 +6290,15 @@ smb2_lockv(const unsigned int xid, struct cifs_tcon *tcon,\n>                 cifs_dbg(FYI, \"Send error in smb2_lockv = %d\\n\", rc);\n>                 cifs_stats_fail_inc(tcon, SMB2_LOCK_HE);\n>                 trace_smb3_lock_err(xid, persist_fid, tcon->tid,\n> -                                   tcon->ses->Suid, rc);\n> +                                   tcon->ses->Suid,\n> +                                   le64_to_cpu(buf[0].Offset),\n> +                                   le64_to_cpu(buf[0].Length),\n> +                                   le32_to_cpu(buf[0].Flags), num_lock, rc);\n> +       } else {\n> +               trace_smb3_lock_done(xid, persist_fid, tcon->tid, tcon->ses->Suid,\n> +                                    le64_to_cpu(buf[0].Offset),\n> +                                    le64_to_cpu(buf[0].Length),\n> +                                    le32_to_cpu(buf[0].Flags), num_lock, 0);\n>         }\n>\n>         if (is_replayable_error(rc) &&\n> diff --git a/fs/smb/client/trace.h b/fs/smb/client/trace.h\n> index acfbb63086ea..242c9da0283e 100644\n> --- a/fs/smb/client/trace.h\n> +++ b/fs/smb/client/trace.h\n> @@ -670,9 +670,65 @@ DEFINE_EVENT(smb3_fd_err_class, smb3_##name,    \\\n>         TP_ARGS(xid, fid, tid, sesid, rc))\n>\n>  DEFINE_SMB3_FD_ERR_EVENT(flush_err);\n> -DEFINE_SMB3_FD_ERR_EVENT(lock_err);\n>  DEFINE_SMB3_FD_ERR_EVENT(close_err);\n>\n> +DECLARE_EVENT_CLASS(smb3_lock_class,\n> +       TP_PROTO(unsigned int xid,\n> +               __u64   fid,\n> +               __u32   tid,\n> +               __u64   sesid,\n> +               __u64   offset,\n> +               __u64   len,\n> +               __u32   flags,\n> +               __u32   num_lock,\n> +               int     rc),\n> +       TP_ARGS(xid, fid, tid, sesid, offset, len, flags, num_lock, rc),\n> +       TP_STRUCT__entry(\n> +               __field(unsigned int, xid)\n> +               __field(__u64, fid)\n> +               __field(__u32, tid)\n> +               __field(__u64, sesid)\n> +               __field(__u64, offset)\n> +               __field(__u64, len)\n> +               __field(__u32, flags)\n> +               __field(__u32, num_lock)\n> +               __field(int, rc)\n> +       ),\n> +       TP_fast_assign(\n> +               __entry->xid = xid;\n> +               __entry->fid = fid;\n> +               __entry->tid = tid;\n> +               __entry->sesid = sesid;\n> +               __entry->offset = offset;\n> +               __entry->len = len;\n> +               __entry->flags = flags;\n> +               __entry->num_lock = num_lock;\n> +               __entry->rc = rc;\n> +       ),\n> +       TP_printk(\"xid=%u sid=0x%llx tid=0x%x fid=0x%llx offset=0x%llx len=0x%llx flags=0x%x num_lock=%u rc=%d\",\n> +               __entry->xid, __entry->sesid, __entry->tid, __entry->fid,\n> +               __entry->offset, __entry->len, __entry->flags, __entry->num_lock,\n> +               __entry->rc)\n> +)\n> +\n> +#define DEFINE_SMB3_LOCK_EVENT(name)          \\\n> +DEFINE_EVENT(smb3_lock_class, smb3_##name,    \\\n> +       TP_PROTO(unsigned int xid,              \\\n> +               __u64   fid,                    \\\n> +               __u32   tid,                    \\\n> +               __u64   sesid,                  \\\n> +               __u64   offset,                 \\\n> +               __u64   len,                    \\\n> +               __u32   flags,                  \\\n> +               __u32   num_lock,               \\\n> +               int     rc),                    \\\n> +       TP_ARGS(xid, fid, tid, sesid, offset, len, flags, num_lock, rc))\n> +\n> +DEFINE_SMB3_LOCK_EVENT(lock_enter);\n> +DEFINE_SMB3_LOCK_EVENT(lock_done);\n> +DEFINE_SMB3_LOCK_EVENT(lock_err);\n> +DEFINE_SMB3_LOCK_EVENT(lock_cached);\n> +\n>  /*\n>   * For handle based query/set info calls\n>   */\n> --\n> 2.48.1\n>","headers":{"Return-Path":"\n <linux-cifs+bounces-10822-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-cifs@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Swscrgi2;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-cifs+bounces-10822-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"Swscrgi2\"","smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=209.85.219.46","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwKl601hpz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 09:10:57 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id E55283022911\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 23:10:18 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id E42413AE195;\n\tTue, 14 Apr 2026 23:10:17 +0000 (UTC)","from mail-qv1-f46.google.com (mail-qv1-f46.google.com\n [209.85.219.46])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 624AE26F293\n\tfor <linux-cifs@vger.kernel.org>; Tue, 14 Apr 2026 23:10:16 +0000 (UTC)","by mail-qv1-f46.google.com with SMTP id\n 6a1803df08f44-8aca6bd57cfso35360166d6.0\n        for <linux-cifs@vger.kernel.org>;\n Tue, 14 Apr 2026 16:10:16 -0700 (PDT)"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776208217; cv=pass;\n b=ELoAX397avncUgG4X0tY1wMbuEUwJguLyK8ilQkKDYa+j3MqAEjsTEYvVThNRFWt5J4HOBMt13FskdOHM2wtuQ0qPn+cwx1YGOTyjfvgtDs3hiUXhAjTaw94z9WVx6ad3hi2Jf2SlscdL9u7va31dVMd4cwiif6HBNRNjoyUrZg=","i=1; a=rsa-sha256; t=1776208215; cv=none;\n        d=google.com; s=arc-20240605;\n        b=kuVVjuL/gD+nb5pIE6NrQgWv6w0UVeOmvBRbcKHXdUlvjolbrK00XNgh+VP14qrOqF\n         WMaCi0vvWB6CSegrhQPZu8/LuZcCqDfx1IEMe7IKxWt2LbRy8Hl1nOY2ToqGR0Gvo03G\n         st9Dwq4ye48d52CIKnHbaKEGYwX5ksW76Y0NhJXLJWM0PoN34z9sj3atXtX8fIl3eUE7\n         lWkSPfqw57fzp0ejt0yd89K2ZzFMB4b2PkM4E/hkUalVT3ZvJ95uLDmXRpIgSgmtEBeo\n         YTHeQG9rXdxQizpNyDBbcZr1/PJcrgg4cgHQ8RdSLjtypW/N31xZtoVK7P9tjrTb5eUf\n         uqxw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776208217; c=relaxed/simple;\n\tbh=NSuJov7NUXjJYXLjtgjFJjn9pZSIrCAMy6LQEOkCqyI=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=Mi9jwHkXi5qYYdXmwrVceptRWenZZCfDe3edfRjZQHxJA3Nbj8q/X0BLwBFpPNzy1Ia7xmmgFmOzrWwN0YKXURBXsXqKhAxUaxzXOupWQYkmJJg3S9IbT1XyyBgcCBFhRXPCCeoZSf0lgS+NIfWBBAvX1oAMiP7CBlbW086lu0M=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:dkim-signature;\n        bh=3xuXG+G6d5bDfouKBAzWnCaJyjW6aFEUkFbh2VJyogY=;\n        fh=13+73Mkl//C6N2QZQI8J2fEyhB9Jr7KAFm40ZFORcis=;\n        b=WplJ5/1xvILG7tNDHYCaTs//GRiXjpRRJy31ftZT//EPTNgPBddC/xGM+wZ7MoKsJD\n         qP8wjIuGzrf6H4upRdI2luEzGzK9c6Z4zCz+1Z789TFEAajA6/iZwNCyO4r64UvEArFv\n         IjakQUfls3gFjcESx+pl6NCDzPEIJJ3cCg5cG4zRp6nwLwpvKrnp2f9avMpldWGQiTWx\n         UAAZT1RU9hl/dQZoYSroK1TLxib/T62ShLPdAgKcKnXA457A3YXiROxukKg5TVpatC1m\n         WO+t1x3hI4rIZ32sO9M1FYO0OGB8xgTCcJujh4sLxzmkB9Om1x7354PR0sKEyCyD88J4\n         vZug==;\n        darn=vger.kernel.org"],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=Swscrgi2; arc=pass smtp.client-ip=209.85.219.46","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1776208215; x=1776813015;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=3xuXG+G6d5bDfouKBAzWnCaJyjW6aFEUkFbh2VJyogY=;\n        b=Swscrgi2Ms5A5Kb3G/jHYrVDs47aMEUhR8nbW/urOQ0wN6uabxMkEH1+pm+uySLywg\n         yTdJiFK3vABaFWzdSxP3SlcsPr1MsOZed6pU2c+susgwqLdZUqjl1VlUgszJsqJnIrE3\n         rKWMMzrWRkM1HG04N0jD+FZq2ihHEZ5fCpN0QfbR0KWpYuuq5Hhe3H+FO53rfnG7b3BF\n         NwKfxsTKM/MU0/5k/2YwkgAtbseZipYZr7iMAf6ck06hfsJbqCBbYkkOz1zby2aklUkl\n         tlxStUMlnQspNUSXlgzNKCwCw6oFI3vD/UdSKqliI5+S26+sSuVXb11LSfF0zGtpuIeR\n         Ke2Q==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776208215; x=1776813015;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=3xuXG+G6d5bDfouKBAzWnCaJyjW6aFEUkFbh2VJyogY=;\n        b=KYb8qJBDTCDpiFXL4nUWBEd8XZFosdq1/Z7LsBimPdNnCkGMIjyXKwblG2cX9P8Pfv\n         hV0mS2uS4m512/yH2x6xXurfYpSOIRnmqQMhiY2eI8GEpsjrllpP1cpggS61BpYZr4n5\n         Yv1/b3VT3yKXFvMlfiXBqKG2espmjuprGwu3k6pWshqfc0fV2QI6glkEqebxSoQs82Ku\n         vpWtWr1rQ7BE8n/O9a884gaGnFnUDeCT5YcUc6iKnF7st7EyK4bKYwbBUVE8eE9JchMz\n         S4EtOImqp1ESE+goqXjxIdS0aEE31AdihqxozT7X7pIKedPag0C0cymTQ4y/RVh5EzeQ\n         qh9Q==","X-Gm-Message-State":"AOJu0Yyk2op2hyEo9iUNoZI6czp43lorakzoHfYqSJHfs3fvMqxba8bd\n\tBiJG1tFZkl/CFua6VdvRLM/dXAZrBkNEEILrC5a3Ew6XHkt9TJUabm26W1mjC9h1MmyVVaLVB5K\n\thRqH23HZLpcN+sl/4CM+bcuYdnNDgTxU=","X-Gm-Gg":"AeBDievcQOZuWGULxPCd9VLFiIXq3AR1vO/C+z2nbIQduMYwaWInzWTzkFge5GUUqiB\n\tePIjdeAQ/ZfUgcMQClLXCvTLbomh38TXa5tLHc8rFpP+0JF/zNX9ZW4cVcPCoQrFWp0w/xWt5Br\n\tJ6opusyVePMlFrHB4CNKOrm0M1VJMQ9cDXkFd8l5ES59nVrD+KEOlXZc6nGC+yDn+s8lyQr2JNE\n\tELpNtBj2/KOGiKAetb4Q82K8gZ3mphuQYhevW1c9fTJ+MKC3ssiTutjVfh4pLhHskV2eFnM5Gqq\n\tGSlNeJ7uAotnuJ6T+jnB2lAkWKbxtG+P6HsIGUjgHPDjtQgESM9OkLziAa08yceRjh3tKICWsaE\n\t+XQmB037+7IpipurERvrcMrgz32ZGHCfOi2AnmI8DgYRJ86vU9Qn/xWDiL6cJXBRBdjBgsvMiD8\n\tc1NlhjnnnNVkDQ/P+GTf25hW+u4/0j/Hb1qkN2qb/3fnc=","X-Received":"by 2002:a05:6214:5004:b0:8ae:652b:e3ab with SMTP id\n 6a1803df08f44-8ae652be942mr44997106d6.51.1776208215355; Tue, 14 Apr 2026\n 16:10:15 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-cifs@vger.kernel.org","List-Id":"<linux-cifs.vger.kernel.org>","List-Subscribe":"<mailto:linux-cifs+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-cifs+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260414161805.233686-1-bharathsm@microsoft.com>","In-Reply-To":"<20260414161805.233686-1-bharathsm@microsoft.com>","From":"Steve French <smfrench@gmail.com>","Date":"Tue, 14 Apr 2026 18:10:04 -0500","X-Gm-Features":"AQROBzC9OrUZqeqK95Sgden4aMisVH8NLoTT_QNjgOFlMqVZ1R1U3p_D4YCcELc","Message-ID":"\n <CAH2r5mtMfW9fmaFi2oC33zTmof_o=Wzj1Jxuye1Dd3-wad1siQ@mail.gmail.com>","Subject":"Re: [PATCH 1/4] smb: client: add tracepoints for lock operations","To":"Bharath SM <bharathsm.hsk@gmail.com>","Cc":"linux-cifs@vger.kernel.org, sprasad@microsoft.com, pc@manguebit.com,\n\tematsumiya@suse.de, henrique.carvalho@suse.com, bharathsm@microsoft.com","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]