Thankfully most of these things are printk warning issues.
You should UPcast to a long in most cases, not downcast to an int.
> diff -ur linux.vanilla/fs/nfs/nfs2xdr.c linux/fs/nfs/nfs2xdr.c
> --- linux.vanilla/fs/nfs/nfs2xdr.c Wed Jul 21 12:05:32 1999
> +++ linux/fs/nfs/nfs2xdr.c Wed Jul 21 10:40:29 1999
> @@ -446,7 +446,7 @@
> "NFS: server %s, readdir reply truncated\n",
> clnt->cl_server);
> printk(KERN_WARNING "NFS: nr=%d, slots=%d, len=%d\n",
> - nr, (end - p), len);
> + nr, (int)(end - p), len);
> clnt->cl_flags |= NFS_CLNTF_BUFSIZE;
> break;
>
> ...the approved method? I think this is quite ugly, but have done it
> for all the offending printk's in my config.
No. Cast to a long, and s/%d/%ld/ for that arg. This particular case
will work but in general you definitely don't want to cast pointer
values (or the results of ptr arithmatic) to an int.
> 2)Similar problems with long int format being passed an int arg.
>
> Such as:
> diff -ur linux.vanilla/fs/nfsd/export.c linux/fs/nfsd/export.c
> --- linux.vanilla/fs/nfsd/export.c Tue Dec 29 19:42:25 1998
> +++ linux/fs/nfsd/export.c Wed Jul 21 11:48:09 1999
> @@ -236,7 +236,7 @@
>
> dprintk("exp_export called for %s:%s (%x/%ld fl %x).\n",
> nxp->ex_client, nxp->ex_path,
> - nxp->ex_dev, nxp->ex_ino, nxp->ex_flags);
> + nxp->ex_dev, (long)nxp->ex_ino, nxp->ex_flags);
> dev = to_kdev_t(nxp->ex_dev);
> ino = nxp->ex_ino;
That looks ok.
I actually made these changes myself but was waiting for the filesystem
stuff to settle down before posting it.
Jeff
-- One of the most overlooked advantages to computers is... If they do foul up, there's no law against whacking them around a little. -- Joe Martin- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/