Sindbad~EG File Manager
// macros for nfs_proc.stp (the NFS procedure tapset)
// Copyright (C) 2013 Red Hat
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
// Public License (GPL); either version 2, or (at your option) any
// later version.
// Macros to return data from a 'struct nfs_read_data', 'struct
// nfs_write_data', or 'struct nfs_commit_data'. Even though the
// structures are laid out differently, since the names of the fields
// are the same, one set of macros can work for all types.
@define _nfs_data_server_ip(nfs_data)
%(
( get_ip(@choose_defined(&@nfs_data->task, &@cast(@nfs_data, "nfs_commit_data", "kernel:nfs")->task)) )
%)
@define _nfs_data_prot(nfs_data)
%(
( get_prot(&@nfs_data->task) )
%)
@define _nfs_data_args_count(nfs_data)
%(
( @nfs_data->args->count )
%)
// The 'nfs_commitres' structure has no 'count' field.
@define _nfs_data_res_count(nfs_data)
%(
( @choose_defined(@nfs_data->res->count, 0) )
%)
@define _nfs_data_valid(nfs_data)
%(
( @nfs_data->res->fattr->valid )
%)
// The 'nfs_commit_data' structure has no 'timestamp' field.
@define _nfs_data_timestamp(nfs_data)
%(
( %( CONFIG_NFS_V4 == "[ym]"
%? @choose_defined(@nfs_data->timestamp, 0)
%: 0 %) )
%)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists