]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfs/nfs4trace.h
Merge branch 'fortglx/3.12/sched-clock64-base' into fortglx/3.13/time
[karo-tx-linux.git] / fs / nfs / nfs4trace.h
index 6388db847017d4eea19921b4d10a2ec5906a4ef7..849cf146db3068ca063a10594324c66e525bbf60 100644 (file)
                { ((__force unsigned long)FMODE_WRITE), "WRITE" }, \
                { ((__force unsigned long)FMODE_EXEC), "EXEC" })
 
+#define show_nfs_fattr_flags(valid) \
+       __print_flags((unsigned long)valid, "|", \
+               { NFS_ATTR_FATTR_TYPE, "TYPE" }, \
+               { NFS_ATTR_FATTR_MODE, "MODE" }, \
+               { NFS_ATTR_FATTR_NLINK, "NLINK" }, \
+               { NFS_ATTR_FATTR_OWNER, "OWNER" }, \
+               { NFS_ATTR_FATTR_GROUP, "GROUP" }, \
+               { NFS_ATTR_FATTR_RDEV, "RDEV" }, \
+               { NFS_ATTR_FATTR_SIZE, "SIZE" }, \
+               { NFS_ATTR_FATTR_FSID, "FSID" }, \
+               { NFS_ATTR_FATTR_FILEID, "FILEID" }, \
+               { NFS_ATTR_FATTR_ATIME, "ATIME" }, \
+               { NFS_ATTR_FATTR_MTIME, "MTIME" }, \
+               { NFS_ATTR_FATTR_CTIME, "CTIME" }, \
+               { NFS_ATTR_FATTR_CHANGE, "CHANGE" }, \
+               { NFS_ATTR_FATTR_OWNER_NAME, "OWNER_NAME" }, \
+               { NFS_ATTR_FATTR_GROUP_NAME, "GROUP_NAME" })
+
 DECLARE_EVENT_CLASS(nfs4_clientid_event,
                TP_PROTO(
                        const struct nfs_client *clp,
@@ -222,6 +240,145 @@ DEFINE_NFS4_CLIENTID_EVENT(nfs4_destroy_clientid);
 DEFINE_NFS4_CLIENTID_EVENT(nfs4_bind_conn_to_session);
 DEFINE_NFS4_CLIENTID_EVENT(nfs4_sequence);
 DEFINE_NFS4_CLIENTID_EVENT(nfs4_reclaim_complete);
+
+TRACE_EVENT(nfs4_setup_sequence,
+               TP_PROTO(
+                       const struct nfs4_session *session,
+                       const struct nfs4_sequence_args *args
+               ),
+               TP_ARGS(session, args),
+
+               TP_STRUCT__entry(
+                       __field(unsigned int, session)
+                       __field(unsigned int, slot_nr)
+                       __field(unsigned int, seq_nr)
+                       __field(unsigned int, highest_used_slotid)
+               ),
+
+               TP_fast_assign(
+                       const struct nfs4_slot *sa_slot = args->sa_slot;
+                       __entry->session = nfs_session_id_hash(&session->sess_id);
+                       __entry->slot_nr = sa_slot->slot_nr;
+                       __entry->seq_nr = sa_slot->seq_nr;
+                       __entry->highest_used_slotid =
+                                       sa_slot->table->highest_used_slotid;
+               ),
+               TP_printk(
+                       "session=0x%08x slot_nr=%u seq_nr=%u "
+                       "highest_used_slotid=%u",
+                       __entry->session,
+                       __entry->slot_nr,
+                       __entry->seq_nr,
+                       __entry->highest_used_slotid
+               )
+);
+
+#define show_nfs4_sequence_status_flags(status) \
+       __print_flags((unsigned long)status, "|", \
+               { SEQ4_STATUS_CB_PATH_DOWN, "CB_PATH_DOWN" }, \
+               { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING, \
+                       "CB_GSS_CONTEXTS_EXPIRING" }, \
+               { SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED, \
+                       "CB_GSS_CONTEXTS_EXPIRED" }, \
+               { SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED, \
+                       "EXPIRED_ALL_STATE_REVOKED" }, \
+               { SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, \
+                       "EXPIRED_SOME_STATE_REVOKED" }, \
+               { SEQ4_STATUS_ADMIN_STATE_REVOKED, \
+                       "ADMIN_STATE_REVOKED" }, \
+               { SEQ4_STATUS_RECALLABLE_STATE_REVOKED,  \
+                       "RECALLABLE_STATE_REVOKED" }, \
+               { SEQ4_STATUS_LEASE_MOVED, "LEASE_MOVED" }, \
+               { SEQ4_STATUS_RESTART_RECLAIM_NEEDED, \
+                       "RESTART_RECLAIM_NEEDED" }, \
+               { SEQ4_STATUS_CB_PATH_DOWN_SESSION, \
+                       "CB_PATH_DOWN_SESSION" }, \
+               { SEQ4_STATUS_BACKCHANNEL_FAULT, \
+                       "BACKCHANNEL_FAULT" })
+
+TRACE_EVENT(nfs4_sequence_done,
+               TP_PROTO(
+                       const struct nfs4_session *session,
+                       const struct nfs4_sequence_res *res
+               ),
+               TP_ARGS(session, res),
+
+               TP_STRUCT__entry(
+                       __field(unsigned int, session)
+                       __field(unsigned int, slot_nr)
+                       __field(unsigned int, seq_nr)
+                       __field(unsigned int, highest_slotid)
+                       __field(unsigned int, target_highest_slotid)
+                       __field(unsigned int, status_flags)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       const struct nfs4_slot *sr_slot = res->sr_slot;
+                       __entry->session = nfs_session_id_hash(&session->sess_id);
+                       __entry->slot_nr = sr_slot->slot_nr;
+                       __entry->seq_nr = sr_slot->seq_nr;
+                       __entry->highest_slotid = res->sr_highest_slotid;
+                       __entry->target_highest_slotid =
+                                       res->sr_target_highest_slotid;
+                       __entry->error = res->sr_status;
+               ),
+               TP_printk(
+                       "error=%d (%s) session=0x%08x slot_nr=%u seq_nr=%u "
+                       "highest_slotid=%u target_highest_slotid=%u "
+                       "status_flags=%u (%s)",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       __entry->session,
+                       __entry->slot_nr,
+                       __entry->seq_nr,
+                       __entry->highest_slotid,
+                       __entry->target_highest_slotid,
+                       __entry->status_flags,
+                       show_nfs4_sequence_status_flags(__entry->status_flags)
+               )
+);
+
+struct cb_sequenceargs;
+struct cb_sequenceres;
+
+TRACE_EVENT(nfs4_cb_sequence,
+               TP_PROTO(
+                       const struct cb_sequenceargs *args,
+                       const struct cb_sequenceres *res,
+                       __be32 status
+               ),
+               TP_ARGS(args, res, status),
+
+               TP_STRUCT__entry(
+                       __field(unsigned int, session)
+                       __field(unsigned int, slot_nr)
+                       __field(unsigned int, seq_nr)
+                       __field(unsigned int, highest_slotid)
+                       __field(unsigned int, cachethis)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       __entry->session = nfs_session_id_hash(&args->csa_sessionid);
+                       __entry->slot_nr = args->csa_slotid;
+                       __entry->seq_nr = args->csa_sequenceid;
+                       __entry->highest_slotid = args->csa_highestslotid;
+                       __entry->cachethis = args->csa_cachethis;
+                       __entry->error = -be32_to_cpu(status);
+               ),
+
+               TP_printk(
+                       "error=%d (%s) session=0x%08x slot_nr=%u seq_nr=%u "
+                       "highest_slotid=%u",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       __entry->session,
+                       __entry->slot_nr,
+                       __entry->seq_nr,
+                       __entry->highest_slotid
+               )
+);
 #endif /* CONFIG_NFS_V4_1 */
 
 DECLARE_EVENT_CLASS(nfs4_open_event,
@@ -411,6 +568,125 @@ DEFINE_NFS4_LOCK_EVENT(nfs4_lock_reclaim);
 DEFINE_NFS4_LOCK_EVENT(nfs4_lock_expired);
 DEFINE_NFS4_LOCK_EVENT(nfs4_unlock);
 
+DECLARE_EVENT_CLASS(nfs4_set_delegation_event,
+               TP_PROTO(
+                       const struct inode *inode,
+                       fmode_t fmode
+               ),
+
+               TP_ARGS(inode, fmode),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(unsigned int, fmode)
+               ),
+
+               TP_fast_assign(
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+                       __entry->fmode = (__force unsigned int)fmode;
+               ),
+
+               TP_printk(
+                       "fmode=%s fileid=%02x:%02x:%llu fhandle=0x%08x",
+                       show_fmode_flags(__entry->fmode),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle
+               )
+);
+#define DEFINE_NFS4_SET_DELEGATION_EVENT(name) \
+       DEFINE_EVENT(nfs4_set_delegation_event, name, \
+                       TP_PROTO( \
+                               const struct inode *inode, \
+                               fmode_t fmode \
+                       ), \
+                       TP_ARGS(inode, fmode))
+DEFINE_NFS4_SET_DELEGATION_EVENT(nfs4_set_delegation);
+DEFINE_NFS4_SET_DELEGATION_EVENT(nfs4_reclaim_delegation);
+
+TRACE_EVENT(nfs4_delegreturn_exit,
+               TP_PROTO(
+                       const struct nfs4_delegreturnargs *args,
+                       const struct nfs4_delegreturnres *res,
+                       int error
+               ),
+
+               TP_ARGS(args, res, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       __entry->dev = res->server->s_dev;
+                       __entry->fhandle = nfs_fhandle_hash(args->fhandle);
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) dev=%02x:%02x fhandle=0x%08x",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       __entry->fhandle
+               )
+);
+
+#ifdef CONFIG_NFS_V4_1
+DECLARE_EVENT_CLASS(nfs4_test_stateid_event,
+               TP_PROTO(
+                       const struct nfs4_state *state,
+                       const struct nfs4_lock_state *lsp,
+                       int error
+               ),
+
+               TP_ARGS(state, lsp, error),
+
+               TP_STRUCT__entry(
+                       __field(int, error)
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+               ),
+
+               TP_fast_assign(
+                       const struct inode *inode = state->inode;
+
+                       __entry->error = error;
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle
+               )
+);
+
+#define DEFINE_NFS4_TEST_STATEID_EVENT(name) \
+       DEFINE_EVENT(nfs4_test_stateid_event, name, \
+                       TP_PROTO( \
+                               const struct nfs4_state *state, \
+                               const struct nfs4_lock_state *lsp, \
+                               int error \
+                       ), \
+                       TP_ARGS(state, lsp, error))
+DEFINE_NFS4_TEST_STATEID_EVENT(nfs4_test_delegation_stateid);
+DEFINE_NFS4_TEST_STATEID_EVENT(nfs4_test_open_stateid);
+DEFINE_NFS4_TEST_STATEID_EVENT(nfs4_test_lock_stateid);
+#endif /* CONFIG_NFS_V4_1 */
+
 DECLARE_EVENT_CLASS(nfs4_lookup_event,
                TP_PROTO(
                        const struct inode *dir,
@@ -554,6 +830,314 @@ DEFINE_NFS4_INODE_EVENT(nfs4_set_acl);
 DEFINE_NFS4_INODE_EVENT(nfs4_get_security_label);
 DEFINE_NFS4_INODE_EVENT(nfs4_set_security_label);
 #endif /* CONFIG_NFS_V4_SECURITY_LABEL */
+DEFINE_NFS4_INODE_EVENT(nfs4_recall_delegation);
+DEFINE_NFS4_INODE_EVENT(nfs4_delegreturn);
+
+DECLARE_EVENT_CLASS(nfs4_getattr_event,
+               TP_PROTO(
+                       const struct nfs_server *server,
+                       const struct nfs_fh *fhandle,
+                       const struct nfs_fattr *fattr,
+                       int error
+               ),
+
+               TP_ARGS(server, fhandle, fattr, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(unsigned int, valid)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       __entry->dev = server->s_dev;
+                       __entry->valid = fattr->valid;
+                       __entry->fhandle = nfs_fhandle_hash(fhandle);
+                       __entry->fileid = (fattr->valid & NFS_ATTR_FATTR_FILEID) ? fattr->fileid : 0;
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
+                       "valid=%s",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle,
+                       show_nfs_fattr_flags(__entry->valid)
+               )
+);
+
+#define DEFINE_NFS4_GETATTR_EVENT(name) \
+       DEFINE_EVENT(nfs4_getattr_event, name, \
+                       TP_PROTO( \
+                               const struct nfs_server *server, \
+                               const struct nfs_fh *fhandle, \
+                               const struct nfs_fattr *fattr, \
+                               int error \
+                       ), \
+                       TP_ARGS(server, fhandle, fattr, error))
+DEFINE_NFS4_GETATTR_EVENT(nfs4_getattr);
+DEFINE_NFS4_GETATTR_EVENT(nfs4_lookup_root);
+DEFINE_NFS4_GETATTR_EVENT(nfs4_fsinfo);
+
+DECLARE_EVENT_CLASS(nfs4_idmap_event,
+               TP_PROTO(
+                       const char *name,
+                       int len,
+                       u32 id,
+                       int error
+               ),
+
+               TP_ARGS(name, len, id, error),
+
+               TP_STRUCT__entry(
+                       __field(int, error)
+                       __field(u32, id)
+                       __dynamic_array(char, name, len > 0 ? len + 1 : 1)
+               ),
+
+               TP_fast_assign(
+                       if (len < 0)
+                               len = 0;
+                       __entry->error = error < 0 ? error : 0;
+                       __entry->id = id;
+                       memcpy(__get_dynamic_array(name), name, len);
+                       ((char *)__get_dynamic_array(name))[len] = 0;
+               ),
+
+               TP_printk(
+                       "error=%d id=%u name=%s",
+                       __entry->error,
+                       __entry->id,
+                       __get_str(name)
+               )
+);
+#define DEFINE_NFS4_IDMAP_EVENT(name) \
+       DEFINE_EVENT(nfs4_idmap_event, name, \
+                       TP_PROTO( \
+                               const char *name, \
+                               int len, \
+                               u32 id, \
+                               int error \
+                       ), \
+                       TP_ARGS(name, len, id, error))
+DEFINE_NFS4_IDMAP_EVENT(nfs4_map_name_to_uid);
+DEFINE_NFS4_IDMAP_EVENT(nfs4_map_group_to_gid);
+DEFINE_NFS4_IDMAP_EVENT(nfs4_map_uid_to_name);
+DEFINE_NFS4_IDMAP_EVENT(nfs4_map_gid_to_group);
+
+DECLARE_EVENT_CLASS(nfs4_read_event,
+               TP_PROTO(
+                       const struct nfs_read_data *data,
+                       int error
+               ),
+
+               TP_ARGS(data, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(loff_t, offset)
+                       __field(size_t, count)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       const struct inode *inode = data->header->inode;
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+                       __entry->offset = data->args.offset;
+                       __entry->count = data->args.count;
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
+                       "offset=%lld count=%zu",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle,
+                       (long long)__entry->offset,
+                       __entry->count
+               )
+);
+#define DEFINE_NFS4_READ_EVENT(name) \
+       DEFINE_EVENT(nfs4_read_event, name, \
+                       TP_PROTO( \
+                               const struct nfs_read_data *data, \
+                               int error \
+                       ), \
+                       TP_ARGS(data, error))
+DEFINE_NFS4_READ_EVENT(nfs4_read);
+#ifdef CONFIG_NFS_V4_1
+DEFINE_NFS4_READ_EVENT(nfs4_pnfs_read);
+#endif /* CONFIG_NFS_V4_1 */
+
+DECLARE_EVENT_CLASS(nfs4_write_event,
+               TP_PROTO(
+                       const struct nfs_write_data *data,
+                       int error
+               ),
+
+               TP_ARGS(data, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(loff_t, offset)
+                       __field(size_t, count)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       const struct inode *inode = data->header->inode;
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+                       __entry->offset = data->args.offset;
+                       __entry->count = data->args.count;
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
+                       "offset=%lld count=%zu",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle,
+                       (long long)__entry->offset,
+                       __entry->count
+               )
+);
+
+#define DEFINE_NFS4_WRITE_EVENT(name) \
+       DEFINE_EVENT(nfs4_write_event, name, \
+                       TP_PROTO( \
+                               const struct nfs_write_data *data, \
+                               int error \
+                       ), \
+                       TP_ARGS(data, error))
+DEFINE_NFS4_WRITE_EVENT(nfs4_write);
+#ifdef CONFIG_NFS_V4_1
+DEFINE_NFS4_WRITE_EVENT(nfs4_pnfs_write);
+#endif /* CONFIG_NFS_V4_1 */
+
+DECLARE_EVENT_CLASS(nfs4_commit_event,
+               TP_PROTO(
+                       const struct nfs_commit_data *data,
+                       int error
+               ),
+
+               TP_ARGS(data, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(loff_t, offset)
+                       __field(size_t, count)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       const struct inode *inode = data->inode;
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+                       __entry->offset = data->args.offset;
+                       __entry->count = data->args.count;
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
+                       "offset=%lld count=%zu",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle,
+                       (long long)__entry->offset,
+                       __entry->count
+               )
+);
+#define DEFINE_NFS4_COMMIT_EVENT(name) \
+       DEFINE_EVENT(nfs4_commit_event, name, \
+                       TP_PROTO( \
+                               const struct nfs_commit_data *data, \
+                               int error \
+                       ), \
+                       TP_ARGS(data, error))
+DEFINE_NFS4_COMMIT_EVENT(nfs4_commit);
+#ifdef CONFIG_NFS_V4_1
+DEFINE_NFS4_COMMIT_EVENT(nfs4_pnfs_commit_ds);
+
+#define show_pnfs_iomode(iomode) \
+       __print_symbolic(iomode, \
+               { IOMODE_READ, "READ" }, \
+               { IOMODE_RW, "RW" }, \
+               { IOMODE_ANY, "ANY" })
+
+TRACE_EVENT(nfs4_layoutget,
+               TP_PROTO(
+                       const struct nfs_open_context *ctx,
+                       const struct pnfs_layout_range *args,
+                       const struct pnfs_layout_range *res,
+                       int error
+               ),
+
+               TP_ARGS(ctx, args, res, error),
+
+               TP_STRUCT__entry(
+                       __field(dev_t, dev)
+                       __field(u32, fhandle)
+                       __field(u64, fileid)
+                       __field(u32, iomode)
+                       __field(u64, offset)
+                       __field(u64, count)
+                       __field(int, error)
+               ),
+
+               TP_fast_assign(
+                       const struct inode *inode = ctx->dentry->d_inode;
+                       __entry->dev = inode->i_sb->s_dev;
+                       __entry->fileid = NFS_FILEID(inode);
+                       __entry->fhandle = nfs_fhandle_hash(NFS_FH(inode));
+                       __entry->iomode = args->iomode;
+                       __entry->offset = args->offset;
+                       __entry->count = args->length;
+                       __entry->error = error;
+               ),
+
+               TP_printk(
+                       "error=%d (%s) fileid=%02x:%02x:%llu fhandle=0x%08x "
+                       "iomode=%s offset=%llu count=%llu",
+                       __entry->error,
+                       show_nfsv4_errors(__entry->error),
+                       MAJOR(__entry->dev), MINOR(__entry->dev),
+                       (unsigned long long)__entry->fileid,
+                       __entry->fhandle,
+                       show_pnfs_iomode(__entry->iomode),
+                       (unsigned long long)__entry->offset,
+                       (unsigned long long)__entry->count
+               )
+);
+
+DEFINE_NFS4_INODE_EVENT(nfs4_layoutcommit);
+DEFINE_NFS4_INODE_EVENT(nfs4_layoutreturn);
+
+#endif /* CONFIG_NFS_V4_1 */
 
 #endif /* _TRACE_NFS4_H */