Re: [PATCH] nfs4: The difference of 2 pointers is size_t

From: Trond Myklebust
Date: Thu Oct 28 2010 - 15:52:58 EST


On Thu, 2010-10-28 at 20:38 +0200, Geert Uytterhoeven wrote:
> On Thu, Oct 28, 2010 at 20:25, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Thu, 28 Oct 2010 20:06:19 +0200 (CEST)
> > Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> >
> >> On m68k, which is 32-bit:
> >>
> >> fs/nfs/nfs4proc.c: In function ___nfs41_sequence_done___:
> >> fs/nfs/nfs4proc.c:432: warning: format ___%ld___ expects type ___long int___, but argument 3 has type ___int___
> >> fs/nfs/nfs4proc.c: In function ___nfs4_setup_sequence___:
> >> fs/nfs/nfs4proc.c:576: warning: format ___%ld___ expects type ___long int___, but argument 5 has type ___int___
> >>
> >> On 32-bit, size_t is int; on 64-bit, size_t is long.
> >>
> >> Introduced by commit dfb4f309830359352539919f23accc59a20a3758 ("NFSv4.1: keep
> >> seq_res.sr_slot as pointer rather than an index")
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> >> ---
> >> fs/nfs/nfs4proc.c | 4 ++--
> >> 1 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> >> index 32c8758..80229dc 100644
> >> --- a/fs/nfs/nfs4proc.c
> >> +++ b/fs/nfs/nfs4proc.c
> >> @@ -429,7 +429,7 @@ static int nfs41_sequence_done(struct rpc_task *task, struct nfs4_sequence_res *
> >> * returned NFS4ERR_DELAY as per Section 2.10.6.2
> >> * of RFC5661.
> >> */
> >> - dprintk("%s: slot=%ld seq=%d: Operation in progress\n",
> >> + dprintk("%s: slot=%zd seq=%d: Operation in progress\n",
> >> __func__,
> >> res->sr_slot - res->sr_session->fc_slot_table.slots,
> >> res->sr_slot->seq_nr);
> >> @@ -573,7 +573,7 @@ int nfs4_setup_sequence(const struct nfs_server *server,
> >> goto out;
> >> }
> >>
> >> - dprintk("--> %s clp %p session %p sr_slot %ld\n",
> >> + dprintk("--> %s clp %p session %p sr_slot %zd\n",
> >> __func__, session->clp, session, res->sr_slot ?
> >> res->sr_slot - session->fc_slot_table.slots : -1);
> >>
> >
> > I think it should formally be %t, for a ptrdiff_t.
>
> You're correct.
>
> I didn't know we "did" %t. I almost have enough fingers and toes to
> count its users ;-)
>
> Gr{oetje,eeting}s,
>
> Geert

I did a s/size_t/ptrdiff_t/, s/%z/%t/ to the above and committed the
result with no other changes.

Cheers
Trond
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/