Bugs and Surprises in PFS

The Pluggable File System (PFS) is a powerful tool. for attaching new distributed storage systems to legacy applications. We use PFS daily on a variety of platforms, and it is a useful and reliable tool in many settings.

Like any software, PFS has some bugs and surprises. We will attempt to document them well so that you know what you are getting. Discussion of bugs and surprises is more than welcome on bypass-discuss.

A bug is some failure of PFS to live up to its promises. We will attempt to fix bugs as time and resources permit. However, the cure is sometimes worse than the sickness, so some bugs live on. A surprise is any effect of PFS that is non-intuitive but does not violate any standards or rules.

Known Bugs

    Signals. PFS does not deal with signals, whether generated by the application or the system. A symptom of this problem is that pressing control-C causes a pfsrun tcsh to immediately exit. The best solution would be to make Bypass deal correctly with signals from top to bottom. The solution is known, but rather complex and time-consuming.

Known Surprises

    FTP Directory Lists. With some FTP servers, you will find that PFS only shows directory entries that correspond to plain files. Directories and other special files are missing. Why is this?

    The FTP specification offers two ways of retrieving a directory list. The LIST command is designed for human consumption: it gives a very rich listing of files with no standard formatting or structure. The NLST command is designed for machines: it gives plain names and no other information. With most FTP clients, you can see the output of LIST by typing "ls" and the output of NLST by typing "nlist".

    Now, PFS relies on the NLST command to retrieve directory names in order to implement the POSIX readdir() command. It can't possibly parse all the ways that data might be returned from the LIST command, which has no standard format. The surprise is that some FTP servers implement NLIST in such a way that it only returns file names -- no directory or other types of files. For some reason, the folklore is that the FTP specification insists that NLST only return the names of things that a RETR can actually retrieve. Ok, not a bad argument. But where does it say this in the RFC? I can't find it; can you?

    In any case, if you issue an ls on an FTP directory with PFS, the results are server dependent.


Condor Project Home Page
PFS Home Page