[LispM] NFS file version: naming conventions

Christopher Stacy cstacy at csail.mit.edu
Thu Aug 3 07:49:39 PDT 2017


I don't remember where that version number convention is implemented,
but you're going to have to rewrite some things.   If it's all the way down
in fs:vanilla-unix-pathname-mixin, you might have to move it higher up
so that unix-42-pathname and unix-pathname can inherit from an intermediate.
(That's almost certainly the case.)  Your new fs:modern-unix-pathname class
can then implement the versioning convention you like.  You'll need some way
to determine whether a Unix NFS server host is a legacy or modern system and
get that wired p for the correct pathname flavor.  Then check in the nfs 
client code
to make sure that the parser is not making unwarranted assumptions and 
stuff like that.

This means that your host can't have both conventions going at the same 
time.
I guess you could reprogram it to notice on a per-pathname basis whether 
it's
using the old or new convention, and have :new-version do the right 
(preservative) thing.
That should probably all be in the same class, and you don't need any 
new pathname
or file-access classes.  The issue would be when you create an entirely 
new pathname in
a directory that is using the old convention.  Should the behaviour be 
directory specific,
by tracking when pathnames go by (or even probing for a raw "*.~[0-9]+~" 
filename)
on a Unix host and keeping a cache of all directory pathnames with flags?




More information about the LispM mailing list