Hi
The patch fix it not completly. Filenames beginning with an umlaut are still
broken.
ls: ümläüté-sucken: No such file or directory
ls: äääaaa: No such file or directory
2.4.9-ümläüté-sucken
aaaäää
All file were created with 2.4.9 and listed with 2.4.17 + Andi's patch.
Håkan, can you test a file named "aå". I think it will ok.
utz
Håkan Lindqvist [lindqvist@xxxxxxxxxx] wrote:
> There is, however, another (perhaps also related) issue!
> If I create a file named "å" I can't remove it afterwards.
>
> touch å
> ls -lid å
> 85391093 -rw-r--r-- 1 hawk hawk 6 Jan 27 16:49 å
> rm å
> rm: cannot unlink `å': No such file or directory
>
> /Håkan
>
> On Sun, 2002-01-27 at 16:04, Håkan Lindqvist wrote:
> > Andi and Utz, I love you guys! :)
> >
> > (This patch made things work just fine again! *hint hint*)
> >
> >
> > Thanks a lot everyone!
> >
> > /Håkan
> >
> >
> > On Sun, 2002-01-27 at 15:47, Andi Kleen wrote:
> > > On Sun, Jan 27, 2002 at 03:21:20PM +0100, utz lehmann wrote:
> > > > Maybe this cause it?
> > > >
> > > > TAKE - remove use of -funsigned-char from xfs
> > > > http://oss.sgi.com/projects/xfs/mail_archive/0201/msg00611.html
> > >
> > > Looks very likely. Try this patch:
> > >
> > >
> > > Index: linux/fs/xfs/xfs_da_btree.c
> > > ===================================================================
> > > RCS file: /cvs/linux-2.4-xfs/linux/fs/xfs/xfs_da_btree.c,v
> > > retrieving revision 1.119
> > > diff -u -u -r1.119 xfs_da_btree.c
> > > --- linux/fs/xfs/xfs_da_btree.c 2001/07/02 18:15:34 1.119
> > > +++ linux/fs/xfs/xfs_da_btree.c 2002/01/27 15:44:38
> > > @@ -1592,7 +1592,7 @@
> > > * This is implemented with some source-level loop unrolling.
> > > */
> > > xfs_dahash_t
> > > -xfs_da_hashname(char *name, int namelen)
> > > +xfs_da_hashname(unsigned char *name, int namelen)
> > > {
> > > xfs_dahash_t hash;
> > >
> > > Index: linux/fs/xfs/xfs_da_btree.h
> > > ===================================================================
> > > RCS file: /cvs/linux-2.4-xfs/linux/fs/xfs/xfs_da_btree.h,v
> > > retrieving revision 1.40
> > > diff -u -u -r1.40 xfs_da_btree.h
> > > --- linux/fs/xfs/xfs_da_btree.h 2000/09/25 05:42:07 1.40
> > > +++ linux/fs/xfs/xfs_da_btree.h 2002/01/27 15:44:38
> > > @@ -322,7 +322,7 @@
> > > int xfs_da_shrink_inode(xfs_da_args_t *args, xfs_dablk_t dead_blkno,
> > > xfs_dabuf_t *dead_buf);
> > >
> > > -uint xfs_da_hashname(char *name_string, int name_length);
> > > +uint xfs_da_hashname(unsigned char *name_string, int name_length);
> > > uint xfs_da_log2_roundup(uint i);
> > > xfs_da_state_t *xfs_da_state_alloc(void);
> > > void xfs_da_state_free(xfs_da_state_t *state);
> > >
> > >
> > >
> > > -Andi
> > >
> >
> >
>
|