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
|