Subject: Re: heads up: 64 bit inode changes
To: Christos Zoulas <christos@zoulas.com>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: current-users
Date: 08/19/2005 11:53:06
Hi,

trying to compile a new coustom kernel for my Notebook (i386) using
sources cvs-updated an hour or so ago I get the following:

#   compile  PADDI_BSD_ACPI/msdosfs_vnops.o
/u/NetBSD/arch/i386/TOOLS/bin/i386--netbsdelf-gcc -pipe -ffreestanding -g -=
march=3Dpentium3 -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpoin=
ter-arith -Wmissing-prototypes -Wstrict-prototypes -Wreturn-type -Wswitch -=
Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare -fno-zero-initialized=
-in-bss -Di386 -I. -I/u/NetBSD/src/sys/arch -I/u/NetBSD/src/sys -nostdinc -=
DLKM -DMSGBUFSIZE=3D0x10000 -DNMBCLUSTERS=3D0x800 -DMSDOSFS_DEBUG=3D1 -DMAX=
USERS=3D32 -D_KERNEL -D_KERNEL_OPT -I/u/NetBSD/src/sys/dist/ipf -c /u/NetBS=
D/src/sys/fs/msdosfs/msdosfs_vnops.c
/u/NetBSD/src/sys/fs/msdosfs/msdosfs_vnops.c: In function `msdosfs_setattr':
/u/NetBSD/src/sys/fs/msdosfs/msdosfs_vnops.c:374: warning: long unsigned in=
t format, different type arg (arg 5)

*** Failed target:  msdosfs_vnops.o
*** Failed command: echo '# ' "compile PADDI_BSD_ACPI/msdosfs_vnops.o"; ech=
o /u/NetBSD/arch/i386/TOOLS/bin/i386--netbsdelf-gcc -pipe -ffreestanding -g=
 -march=3Dpentium3 -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpo=
inter-arith -Wmissing-prototypes -Wstrict-prototypes -Wreturn-type -Wswitch=
 -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare -fno-zero-initializ=
ed-in-bss -Di386 -I. -I/u/NetBSD/src/sys/arch -I/u/NetBSD/src/sys -nostdinc=
 -DLKM -DMSGBUFSIZE=3D"0x10000" -DNMBCLUSTERS=3D"0x800" -DMSDOSFS_DEBUG=3D"=
1" -DMAXUSERS=3D32 -D_KERNEL -D_KERNEL_OPT -I/u/NetBSD/src/sys/dist/ipf -c =
/u/NetBSD/src/sys/fs/msdosfs/msdosfs_vnops.c; /u/NetBSD/arch/i386/TOOLS/bin=
/i386--netbsdelf-gcc -pipe -ffreestanding -g -march=3Dpentium3 -O2 -Werror =
-Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototype=
s -Wstrict-prototypes -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-s=
trings -Wno-sign-compare -fno-zero-initialized-in-bss -Di386 -I. -I/u/NetBS=
D/src/sys/arch -I/u/NetBSD/src/sys -nostdinc -DLKM -DMSGBUFSIZE=3D"0x10000"=
 -DNMBCLUSTERS=3D"0x800" -DMSDOSFS_DEBUG=3D"1" -DMAXUSERS=3D32 -D_KERNEL -D=
_KERNEL_OPT -I/u/NetBSD/src/sys/dist/ipf -c /u/NetBSD/src/sys/fs/msdosfs/ms=
dosfs_vnops.c
*** Error code 1

Stop.
nbmake: stopped in /u/NetBSD/arch/i386/obj/sys/arch/i386/compile/PADDI_BSD_=
ACPI

ERROR: Failed to make all in /u/NetBSD/arch/i386/obj/sys/arch/i386/compile/=
PADDI_BSD_ACPI
*** BUILD ABORTED ***


The code in question is only compiled when MSDOSFS_DEBUG is defined. Applyi=
ng the
following "one char" patch fixes the problem: (replace %lx with %llx)


>-146: diff -u /u/NetBSD/src/sys/fs/msdosfs/msdosfs_vnops.c /tmp/msdosfs_vn=
ops.c
--- /u/NetBSD/src/sys/fs/msdosfs/msdosfs_vnops.c        2005-08-19 11:50:47=
.000000000 +0200
+++ /tmp/msdosfs_vnops.c        2005-08-19 11:50:42.000000000 +0200
@@ -370,7 +370,7 @@
            (vap->va_gid !=3D VNOVAL && vap->va_gid !=3D pmp->pm_gid)) {
 #ifdef MSDOSFS_DEBUG
                printf("msdosfs_setattr(): returning EINVAL\n");
-               printf("    va_type %d, va_nlink %x, va_fsid %lx, va_fileid=
 %lx\n",
+               printf("    va_type %d, va_nlink %x, va_fsid %lx, va_fileid=
 %llx\n",
                    vap->va_type, vap->va_nlink, vap->va_fsid, vap->va_file=
id);
                printf("    va_blocksize %lx, va_rdev %x, va_bytes %qx, va_=
gen %lx\n",
                    vap->va_blocksize, vap->va_rdev, (long long)vap->va_byt=
es, vap->va_gen);


Kurt