xfs
[Top] [All Lists]

Re: Linux 2.4.17-xfs vs previous XFS versions and certain non-us charact

To: Håkan Lindqvist <lindqvist@xxxxxxxxxx>
Subject: Re: Linux 2.4.17-xfs vs previous XFS versions and certain non-us characters in filenames
From: utz lehmann <xfs@xxxxxxxxxx>
Date: Sun, 27 Jan 2002 17:01:50 +0100
Cc: Stephen Lord <lord@xxxxxxx>, Andi Kleen <ak@xxxxxxx>, utz lehmann <xfs@xxxxxxxxxx>, Linux XFS Mailing List <linux-xfs@xxxxxxxxxxx>
In-reply-to: <1012146858.923.6.camel@steelnest>
References: <1012101803.1045.28.camel@steelnest> <1012102374.1045.35.camel@steelnest> <3C536F44.1020301@xxxxxxx> <20020127152120.A1490@xxxxxxxxxx> <20020127154745.A20990@xxxxxxxxxxxxx> <1012143898.923.1.camel@steelnest> <1012146858.923.6.camel@steelnest>
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
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 
> > > 
> > 
> > 
> 


<Prev in Thread] Current Thread [Next in Thread>