Commit a9e21837 authored by Tigran Mkrtchyan's avatar Tigran Mkrtchyan Committed by Trond Myklebust
Browse files

pnfs: add pnfs_ds_connect trace point

parent c1b0b9d7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
+26 −0
Original line number Diff line number Diff line
@@ -274,6 +274,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,
+9 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include "internal.h"
#include "pnfs.h"
#include "netns.h"
#include "nfs4trace.h"

#define NFSDBG_FACILITY		NFSDBG_PNFS

@@ -1007,8 +1008,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)
@@ -1038,11 +1041,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 = -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);