dCache SRM Client 3.0.1 Release Notes

Highlights

This release includes various improvements to srmfs:

Fix various compatibility issues with StoRM, Bestman and DPM.

Various storage systems describe the owner of files and directories with an X.509 DN. A DN is quite long and (for most people) mostly consists of uninteresting information. This version shows only the users name (the CN) by default, but can show the full DN by specifying a command argument.

Previous versions of srmfs had commands that started 'get'. These are potentially ambigious when the storage system has similarly named files. Therefore these commands have been updated:

get transfer protocols ->  show transfer protocols
get space tokens       ->  list spaces
get permission         ->  show permissions
check permission       ->  check permissions
get space meta data    ->  show space

Different storage systems have different default (TCP) port numbers they listen on. The HTTP path also varies from different storage systems. srmfs now auto-detects these two properties; so it will accept a simple SURL argument like: srmfs srm://srm‑server.example.org/

Fix the show permissions command (formally get permission), which had several problems that lead to it showing incorrect information and, in some circumstances, failing.

The srmfs now collects statistics on which SRM calls it makes and how long the server took to respond. These statistics can be viewed and reset.

If an operation fails, the server should supply a description of the problem. This description may be empty. With this version, srmfs will generate a default error message under these circumstances.

The built-in help text for the commands has been updated. All commands now provide at least a minimal description of what the command does.

srmfs now supports glob expansion. The commands rm, rmdir, ls, lrm, lrmdir, lls, check permissions, and show permissions accept glob arguments that are expanded. Glob patterns are ones that include *, ? or {,} (or combinations thereof). For example, the glob *.txt matches foo.txt, bar.txt … The glob a?b.txt matches aab.txt, abb.txt, acb.txt, … and the glob {foo,bar}.txt matches foo.txt and bar.txt.