release notes | Book: 1.9.5, 1.9.12 (opt, FHS), 2.11 (FHS), 2.12 (FHS), 2.13 (FHS), 2.14 (FHS), | Wiki | Q&A black_bg
Web: Multi-page, Single page | PDF: A4-size, Letter-size | eBook: epub black_bg

Communicating with the pnfs Server

Many configuration parameters of pnfs and the application-specific meta-data is accessed by reading, writing, or creating files of the form .(<command>)(<para>). For example, the following prints the pnfsID of the file /pnfs/site.de/some/dir/file.dat:

[user] $ cat /pnfs/site.de/any/sub/directory/'.(id)(file.dat)' 
0004000000000000002320B8
[user] $ 

From the point of view of the NFS protocol, the file .(id)(file.dat) in the directory /pnfs/site.de/some/dir/ is read. However, pnfs interprets it as the command id with the parameter file.dat executed in the directory /pnfs/site.de/some/dir/. The quotes are important, because the shell would otherwise try to interpret the parentheses.

Some of these command-files have a second parameter in a third pair of parentheses. Note, that files of the form .(<command>)(<para>) are not really files. They are not shown when listing directories with ls. However, the command-files are listed when they appear in the argument list of ls as in

[user] $ ls -l '.(tag)(sGroup)'
-rw-r--r--   11 root     root            7 Aug  6  2004 .(tag)(sGroup)

Only a subset of file operations are allowed on these special command-files. Any other operation will result in an appropriate error. Beware, that files with names of this form might accidentally be created by typos. They will then be shown when listing the directory.