xfs
[Top] [All Lists]

Re: more xfs on ppc

To: linux-xfs@xxxxxxxxxxx
Subject: Re: more xfs on ppc
From: Thomas Graichen <news-innominate.list.sgi.xfs@xxxxxxxxxxxxx>
Date: 29 Aug 2000 20:07:48 GMT
Distribution: local
Organization: innominate AG, Berlin, Germany
References: <200008291508.KAA32284@xxxxxxxxxxxxxxxxxxxx>
Reply-to: Thomas Graichen <graichen@xxxxxxxxxxxxx>
Reply-to: thomas.graichen@xxxxxxxxxxxxx
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: tin/1.4.2-20000205 ("Possession") (UNIX) (Linux/2.2.16-local (i586))
Steve Lord <lord@xxxxxxx> wrote:

> OK, here is a patch which might start to narrow down where the inode number
> is getting lost. I seem to remember there being issues with printing 64
> bit numbers on the ppc, so you may have to mess with this somewhat to get
> it to function there.

ok - did it (btw. the 64bit problem seems to be only happening with
printing in hex which can be easily worked around by shifts and
printing two longs - %Ld looks like being working)

  inum set to 132 from ir_startino of 128
  xfs_dialloc returned inum 132
  xfs_dir2_createname: inum = 132

this is the output of your patch for my typical test: "cp XFS test"

just tell me what else you are interested in ...

t

> +++ linux/fs/xfs/xfs_dir2.c   Tue Aug 29 10:06:05 2000
> @@ -274,6 +274,7 @@
>       int                     rval;           /* return value */
>       int                     v;              /* type-checking value */
>  
> +     printk("xfs_dir2_createname: inum = %Ld\n", inum);
>       ASSERT((dp->i_d.di_mode & IFMT) == IFDIR);
>       if (rval = xfs_dir_ino_validate(tp->t_mountp, inum)) {
>  #pragma mips_frequency_hint NEVER

> +++ linux/fs/xfs/xfs_ialloc.c Tue Aug 29 10:05:44 2000
> @@ -935,6 +935,9 @@
>       ASSERT((XFS_AGINO_TO_OFFSET(mp, INT_GET(rec.ir_startino, ARCH_CONVERT)) 
> %
>                                  XFS_INODES_PER_CHUNK) == 0);
>       ino = XFS_AGINO_TO_INO(mp, agno, INT_GET(rec.ir_startino, ARCH_CONVERT) 
> + 
> offset);
> +
> +     printk("inum set to %Ld from ir_startino of %d\n", ino, 
> rec.ir_startino);
> +
>       XFS_INOBT_CLR_FREE(&rec, offset, ARCH_CONVERT);
>       INT_MOD(rec.ir_freecount, ARCH_CONVERT, -1);
>       if (error = xfs_inobt_update(cur, INT_GET(rec.ir_startino, 
> ARCH_CONVERT), 
> INT_GET(rec.ir_freecount, ARCH_CONVERT),

> +++ linux/fs/xfs/xfs_inode.c  Tue Aug 29 10:06:23 2000
> @@ -1097,6 +1097,7 @@
>  #endif
>       error = xfs_dialloc(tp, pip ? pip->i_ino : 0, mode, okalloc,
>                           ialloc_context, call_again, &ino);
> +     printk("xfs_dialloc returned inum %Ld\n", ino);
>       if (error != 0) {
>               return error;
>       }


-- 
thomas.graichen@xxxxxxxxxxxxx
technical director                                       innominate AG
clustering & security                                networking people
tel: +49.30.308806-13  fax: -77                   http://innominate.de

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