[GSoC][RFC] Case Insensitive Filesystem
Marc Andre Tanner
mat at brain-dump.org
Wed Mar 26 11:59:10 CDT 2008
On Wed, Mar 26, 2008 at 12:49:16PM +0100, Francois Gouget wrote:
> On Tue, 25 Mar 2008, Marc Andre Tanner wrote:
> > The filesystem converts every path to lower case before further
> > operations take place. On file creation the original filename is
> > stored in an extended attribute and later returned upon request.
> Shouldn't it be the other way around? I guess the way you've done it is
> simpler because you can simply rely on the standard kernel code to
> ensure filename uniqueness, but it also means that anyone accessing the
> underlying files directly will lose the case information.
Yes that's true the case information is lost but is it really needed?
If you create the files with the original mixed case you will have to
scan the whole directory in order to match it to a given filename.
And if i am not mistaken this is exactly what wine does.
Note also that in the current form having files with upper case letters in
the underlying directory will cause problems (i will probably just ignore
them in readdir for now). Another quite crazy idea is to transform the
whole directory to lowercase on mount and then on unmount back to the
original mixed case representation. That would preserve the case information,
but the mount/unmount will be quite expensive and probably cause some
problems if someone is messing around with de underlying directory
By the way there is now a git repository available for those who want
to play with it.
git clone git://repo.or.cz/ciopfs.git
Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
More information about the wine-devel