[linux-cifs-client] special files on Services for Unix (SFU) / Interix

Martin Koeppe mkoeppe at gmx.de
Tue May 31 17:32:00 GMT 2005


Hello,

>> addressing the "missing feature p)" in TODO, I found out,
>> how special files are stored by SFU/Interix. It's rather simple,
>> and no extended attributes are needed. You can (theoretically)
>> create such files with simple DOS commands.

> This is interesting information - I should be able to verify it easily
> enough.

> Now the next interesting question is whether to do this (ie create and
> recognize such special files) only when
> 1) Unix exensions are not negotiated
> and
> 2) a new mount option (for which we need a name) is specified

> or whether 1) is sufficient (ie this is done automatically)

> I would have prefer this information being in EAs rather than in file
> data, but there are cases where file data is the only choice.  The other
> interesting problem is that the Mac client uses a magic file size and
> format for symlinks (which is different from the internix one).

I think there should be a new mount option, say "interix"
(it's interix, not inter_n_ix), which when specified, disables
unix extentions and enables this "interix mode".

I think disabling the unix extensions is necessary, because one could
use a Samba server from Windows/interix, i.e. interix special files
would be normal files for samba and thus obviously not recognized
as unix extension files. To be able to use the special files on client side
(without the knowledge of samba) I think it's necessary to be
able to explicitely disable the unix extensions and enable the interix ones.

The mount option should be named "interix" (or at least contain
something related to interix in its name), because there is also
Cygwin, for which an option "cygwin" should be planned, too.

Cygwin is not compatible with interix in this regard, as Cygwin
creates the special files as "*.LNK" windows explorer shortcuts
with special targets. But besides from that it is essentially the same,
i.e. a normal file is used.

Cygwin is somewhat problematic in my eyes, however, as it stores
a fifo file named "myfifo" in the filesystem as "myfifo.lnk",
which could raise naming conflicts.

The Mac client you mentioned would get a third mount option then.

I think explicitely disabling the unix extensions should be possible,
too, because this enables server side symlink following, which
can be helpful in some cases.

So maybe one should use a single option, e.g.:
unix=none
unix=samba
unix=interix
unix=cygwin
...

The most important thing for me would be to be able to put
(probably relative) symlinks onto windows shares, even if they
only can be used from linux or within interix, but it would
be a real great feature to have.

Martin


More information about the linux-cifs-client mailing list