* [PATCH] pnfs: add pnfs_ds_connect trace point
@ 2025-06-10 9:34 Tigran Mkrtchyan
2025-06-10 12:47 ` Benjamin Coddington
2025-06-10 15:12 ` [PATCH v2] " Tigran Mkrtchyan
0 siblings, 2 replies; 4+ messages in thread
From: Tigran Mkrtchyan @ 2025-06-10 9:34 UTC (permalink / raw)
To: linux-nfs; +Cc: Trond Myklebust, Anna Schumaker, Tigran Mkrtchyan
this trace point aims expose pnfs ds connect status
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
---
fs/nfs/nfs4trace.c | 1 +
fs/nfs/nfs4trace.h | 26 ++++++++++++++++++++++++++
fs/nfs/pnfs_nfs.c | 14 +++++++++-----
3 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/fs/nfs/nfs4trace.c b/fs/nfs/nfs4trace.c
index 389941ccc9c9..436763a559cd 100644
--- a/fs/nfs/nfs4trace.c
+++ b/fs/nfs/nfs4trace.c
@@ -26,6 +26,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_read_done);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_write_done);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_read_pagelist);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_write_pagelist);
+EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_ds_connect);
EXPORT_TRACEPOINT_SYMBOL_GPL(ff_layout_read_error);
EXPORT_TRACEPOINT_SYMBOL_GPL(ff_layout_write_error);
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
index deab4c0e21a0..f6fc38bce9d0 100644
--- a/fs/nfs/nfs4trace.h
+++ b/fs/nfs/nfs4trace.h
@@ -273,6 +273,32 @@ TRACE_EVENT(nfs4_cb_offload,
show_nfs_stable_how(__entry->cb_how)
)
);
+
+TRACE_EVENT(pnfs_ds_connect,
+ TP_PROTO(
+ char *ds_remotestr,
+ int status
+ ),
+
+ TP_ARGS(ds_remotestr, status),
+
+ TP_STRUCT__entry(
+ __string(ds_ips, ds_remotestr)
+ __field(int, status)
+ ),
+
+ TP_fast_assign(
+ __assign_str(ds_ips);
+ __entry->status = status;
+ ),
+
+ TP_printk(
+ "ds_ips=%s, status=%d",
+ __get_str(ds_ips),
+ __entry->status
+ )
+);
+
#endif /* CONFIG_NFS_V4_1 */
TRACE_EVENT(nfs4_setup_sequence,
diff --git a/fs/nfs/pnfs_nfs.c b/fs/nfs/pnfs_nfs.c
index 91ef486f40b9..4e25753945f6 100644
--- a/fs/nfs/pnfs_nfs.c
+++ b/fs/nfs/pnfs_nfs.c
@@ -17,6 +17,7 @@
#include "internal.h"
#include "pnfs.h"
#include "netns.h"
+#include "nfs4trace.h"
#define NFSDBG_FACILITY NFSDBG_PNFS
@@ -998,8 +999,10 @@ int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
err = nfs4_wait_ds_connect(ds);
if (err || ds->ds_clp)
goto out;
- if (nfs4_test_deviceid_unavailable(devid))
- return -ENODEV;
+ if (nfs4_test_deviceid_unavailable(devid)) {
+ err = -ENODEV;
+ goto out;
+ }
} while (test_and_set_bit(NFS4DS_CONNECTING, &ds->ds_state) != 0);
if (ds->ds_clp)
@@ -1029,11 +1032,12 @@ int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
if (!ds->ds_clp || !nfs_client_init_is_complete(ds->ds_clp)) {
WARN_ON_ONCE(ds->ds_clp ||
!nfs4_test_deviceid_unavailable(devid));
- return -EINVAL;
- }
- err = nfs_client_init_status(ds->ds_clp);
+ err = -EINVAL;
+ } else
+ err = nfs_client_init_status(ds->ds_clp);
}
+ trace_pnfs_ds_connect(ds->ds_remotestr, err);
return err;
}
EXPORT_SYMBOL_GPL(nfs4_pnfs_ds_connect);
--
2.47.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] pnfs: add pnfs_ds_connect trace point
2025-06-10 9:34 [PATCH] pnfs: add pnfs_ds_connect trace point Tigran Mkrtchyan
@ 2025-06-10 12:47 ` Benjamin Coddington
2025-06-10 13:55 ` Mkrtchyan, Tigran
2025-06-10 15:12 ` [PATCH v2] " Tigran Mkrtchyan
1 sibling, 1 reply; 4+ messages in thread
From: Benjamin Coddington @ 2025-06-10 12:47 UTC (permalink / raw)
To: Tigran Mkrtchyan; +Cc: linux-nfs, Trond Myklebust, Anna Schumaker
On 10 Jun 2025, at 5:34, Tigran Mkrtchyan wrote:
> this trace point aims expose pnfs ds connect status
This tracepoint aims to expose pNFS DS connect status?
>
> Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Logic looks correct,
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Ben
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pnfs: add pnfs_ds_connect trace point
2025-06-10 12:47 ` Benjamin Coddington
@ 2025-06-10 13:55 ` Mkrtchyan, Tigran
0 siblings, 0 replies; 4+ messages in thread
From: Mkrtchyan, Tigran @ 2025-06-10 13:55 UTC (permalink / raw)
To: Benjamin Coddington; +Cc: linux-nfs, Trond Myklebust, Anna Schumaker
[-- Attachment #1: Type: text/plain, Size: 762 bytes --]
----- Original Message -----
> From: "Benjamin Coddington" <bcodding@redhat.com>
> To: "Tigran Mkrtchyan" <tigran.mkrtchyan@desy.de>
> Cc: "linux-nfs" <linux-nfs@vger.kernel.org>, "Trond Myklebust" <trondmy@kernel.org>, "Anna Schumaker" <anna@kernel.org>
> Sent: Tuesday, 10 June, 2025 14:47:23
> Subject: Re: [PATCH] pnfs: add pnfs_ds_connect trace point
> On 10 Jun 2025, at 5:34, Tigran Mkrtchyan wrote:
>
>> this trace point aims expose pnfs ds connect status
>
> This tracepoint aims to expose pNFS DS connect status?
Thanks, Ben.
I can send v2 if desired.
Best regards,
Tigran.
>
>>
>> Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
>
>
> Logic looks correct,
>
> Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
>
> Ben
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 2826 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] pnfs: add pnfs_ds_connect trace point
2025-06-10 9:34 [PATCH] pnfs: add pnfs_ds_connect trace point Tigran Mkrtchyan
2025-06-10 12:47 ` Benjamin Coddington
@ 2025-06-10 15:12 ` Tigran Mkrtchyan
1 sibling, 0 replies; 4+ messages in thread
From: Tigran Mkrtchyan @ 2025-06-10 15:12 UTC (permalink / raw)
To: linux-nfs
Cc: Trond Myklebust, Anna Schumaker, Tigran Mkrtchyan,
Benjamin Coddington
This tracepoint aims to expose pnfs DS connect status
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
---
fs/nfs/nfs4trace.c | 1 +
fs/nfs/nfs4trace.h | 26 ++++++++++++++++++++++++++
fs/nfs/pnfs_nfs.c | 14 +++++++++-----
3 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/fs/nfs/nfs4trace.c b/fs/nfs/nfs4trace.c
index 389941ccc9c9..436763a559cd 100644
--- a/fs/nfs/nfs4trace.c
+++ b/fs/nfs/nfs4trace.c
@@ -26,6 +26,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_read_done);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_write_done);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_read_pagelist);
EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_mds_fallback_write_pagelist);
+EXPORT_TRACEPOINT_SYMBOL_GPL(pnfs_ds_connect);
EXPORT_TRACEPOINT_SYMBOL_GPL(ff_layout_read_error);
EXPORT_TRACEPOINT_SYMBOL_GPL(ff_layout_write_error);
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
index deab4c0e21a0..f6fc38bce9d0 100644
--- a/fs/nfs/nfs4trace.h
+++ b/fs/nfs/nfs4trace.h
@@ -273,6 +273,32 @@ TRACE_EVENT(nfs4_cb_offload,
show_nfs_stable_how(__entry->cb_how)
)
);
+
+TRACE_EVENT(pnfs_ds_connect,
+ TP_PROTO(
+ char *ds_remotestr,
+ int status
+ ),
+
+ TP_ARGS(ds_remotestr, status),
+
+ TP_STRUCT__entry(
+ __string(ds_ips, ds_remotestr)
+ __field(int, status)
+ ),
+
+ TP_fast_assign(
+ __assign_str(ds_ips);
+ __entry->status = status;
+ ),
+
+ TP_printk(
+ "ds_ips=%s, status=%d",
+ __get_str(ds_ips),
+ __entry->status
+ )
+);
+
#endif /* CONFIG_NFS_V4_1 */
TRACE_EVENT(nfs4_setup_sequence,
diff --git a/fs/nfs/pnfs_nfs.c b/fs/nfs/pnfs_nfs.c
index 91ef486f40b9..4e25753945f6 100644
--- a/fs/nfs/pnfs_nfs.c
+++ b/fs/nfs/pnfs_nfs.c
@@ -17,6 +17,7 @@
#include "internal.h"
#include "pnfs.h"
#include "netns.h"
+#include "nfs4trace.h"
#define NFSDBG_FACILITY NFSDBG_PNFS
@@ -998,8 +999,10 @@ int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
err = nfs4_wait_ds_connect(ds);
if (err || ds->ds_clp)
goto out;
- if (nfs4_test_deviceid_unavailable(devid))
- return -ENODEV;
+ if (nfs4_test_deviceid_unavailable(devid)) {
+ err = -ENODEV;
+ goto out;
+ }
} while (test_and_set_bit(NFS4DS_CONNECTING, &ds->ds_state) != 0);
if (ds->ds_clp)
@@ -1029,11 +1032,12 @@ int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
if (!ds->ds_clp || !nfs_client_init_is_complete(ds->ds_clp)) {
WARN_ON_ONCE(ds->ds_clp ||
!nfs4_test_deviceid_unavailable(devid));
- return -EINVAL;
- }
- err = nfs_client_init_status(ds->ds_clp);
+ err = -EINVAL;
+ } else
+ err = nfs_client_init_status(ds->ds_clp);
}
+ trace_pnfs_ds_connect(ds->ds_remotestr, err);
return err;
}
EXPORT_SYMBOL_GPL(nfs4_pnfs_ds_connect);
--
2.49.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-06-10 15:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-10 9:34 [PATCH] pnfs: add pnfs_ds_connect trace point Tigran Mkrtchyan
2025-06-10 12:47 ` Benjamin Coddington
2025-06-10 13:55 ` Mkrtchyan, Tigran
2025-06-10 15:12 ` [PATCH v2] " Tigran Mkrtchyan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox