in src/analysis/print_analyzer.cpp [1446:1504]
void PrintAnalyzer::fsinfo3(const RPCProcedure* proc,
const struct NFS3::FSINFO3args* args,
const struct NFS3::FSINFO3res* res)
{
if(!print_procedure(out, proc)) {
return;
}
if(args)
{
out << "\tCALL [ fsroot: " << args->fsroot << " ]\n";
}
if(res)
{
out << "\tREPLY [ status: " << res->status;
if(out_all())
{
if(res->status == NFS3::nfsstat3::NFS3_OK)
out << " obj attributes: "
<< res->FSINFO3res_u.resok.obj_attributes
<< " rtmax: "
<< res->FSINFO3res_u.resok.rtmax
<< " rtpref: "
<< res->FSINFO3res_u.resok.rtpref
<< " rtmult: "
<< res->FSINFO3res_u.resok.rtmult
<< " wtmax: "
<< res->FSINFO3res_u.resok.wtmax
<< " wtpref: "
<< res->FSINFO3res_u.resok.wtpref
<< " wtmult: "
<< res->FSINFO3res_u.resok.wtmult
<< " dtpref: "
<< res->FSINFO3res_u.resok.dtpref
<< " max file size: "
<< res->FSINFO3res_u.resok.maxfilesize
<< " time delta: "
<< res->FSINFO3res_u.resok.time_delta
<< " properties: "
<< res->FSINFO3res_u.resok.properties
<< " LINK (filesystem supports hard links): "
<< static_cast<bool>(res->FSINFO3res_u.resok.properties &
NFS3::FSF3_LINK)
<< " SYMLINK (file system supports symbolic links): "
<< static_cast<bool>(res->FSINFO3res_u.resok.properties &
NFS3::FSF3_SYMLINK)
<< " HOMOGENEOUS (PATHCONF: is valid for all files): "
<< static_cast<bool>(res->FSINFO3res_u.resok.properties &
NFS3::FSF3_HOMOGENEOUS)
<< " CANSETTIME (SETATTR can set time on server): "
<< static_cast<bool>(res->FSINFO3res_u.resok.properties &
NFS3::FSF3_CANSETTIME);
else
out << " obj attributes: "
<< res->FSINFO3res_u.resfail.obj_attributes;
}
out << " ]\n";
}
}