[OpenAFS-devel] Cross-platform hidden files

Moritz Bechler mbechler@eenterphace.org
Wed, 18 Apr 2007 16:49:05 +0200 (CEST)


Hi,

I know this has come up some time before on this list but as we are worki=
ng
on a OpenAFS setup including windows and linux clients and we ran into
problems having folder redirections on windows pointing to our AFS becaus=
e
of the clients inability to store extended/dos attributes, I want to brin=
g
it up once again.
This is especially annoying for desktop.ini files and recycler directorie=
s
and really might confuse our users so we are willing to do something abou=
t
it. As maintaining a "hacked" version is really not what we want we are
looking for a solution that can make it into the mainline releases.

The roadmap of OpenAFS for Windows tells about this extended/dos attribut=
e
thing and mentions it in combination with alternate data streams for wind=
ows.
I don't think this is a cross-platform compatible approach, is it?

We thought of several possibilities of implementing this:

- Implement a windows-only client side ignore list, somehow like samba do=
es
   with its "hide files"-directive, simply setting the hidden attribute o=
n
   files matching a given pattern -  this does not really fix the problem=
,
   but lessen it a bit.

- Implement attribute storage on the server and get linux/unix/etc. to
   implement another possibility (e.g. some extended attribute thing)
   for marking files hidden ... quite illusionary I think.

- Implement some filename transformation mechanism on windows, moving
   windows hidden files to dot files with transparent access - has been
   discussed and rejected in the past as it might cause trouble.

- Implement some attribute storage on the server, then map to the hidden
   flags on Windows and map to dot files on unix/linux operating systems.
   This might include storing dot files created on linux/unix without the
   dot but with a hidden flag.

The main problem is the totally different approach of unix/linux operatin=
g
systems and windows to handle hidden files - without changing things in
the unix userland (and without hacking windows to use dot files for these
files) it seems impossible to have a working cross-platform solution
without having to do some filename transformation.

The last two ideas both involve imposing some restrictions on valid
filenames - on unix you could not have a file 'foo' and a file '.foo'
in the same directory.

Do you have ideas other than the ones mentioned above?
We are willing to invest some time in the implementation of this but need
a clear statement whether the project wants some kind of implementation
and if so which approach is favored. Also some information on the
windows compile process (if needed) and maybe someone who volunteers you
help us in case we get stuck would be nice.


Moritz Bechler


PS: sorry, posted this before using a wrong mail address