On Thu, Jan 21, 2010 at 2:47 PM, Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote: > On Thu, 2010-01-21 at 14:19 -0500, andros@xxxxxxxxxx wrote: >> From: Andy Adamson <andros@xxxxxxxxxx> >> >> Return NFS4_OK if target high slotid equals enforced high slotid. >> Fix nfs_client reference leak. >> >> Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> >> --- >> fs/nfs/callback_proc.c | 10 +++++++--- >> 1 files changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c >> index e5155d9..c79e18c 100644 >> --- a/fs/nfs/callback_proc.c >> +++ b/fs/nfs/callback_proc.c >> @@ -381,13 +381,17 @@ unsigned nfs4_callback_recallslot(struct cb_recallslotargs *args, void *dummy) >> fc_tbl = &clp->cl_session->fc_slot_table; >> >> status = htonl(NFS4ERR_BAD_HIGH_SLOT); > > This is not related directly to your patch, but "sparse" is going to > have a field day with all these scattered around the place. Are there > any plans to clean all this up, and replace those 'int' and 'unsigned' > declarations that are being assigned big ended values with the correct > '__be32' type? I could do that. -->Andy > >> - if (args->crsa_target_max_slots >= fc_tbl->max_slots || >> + if (args->crsa_target_max_slots > fc_tbl->max_slots || >> args->crsa_target_max_slots < 1) >> - goto out; >> + goto out_putclient; >> + >> + status = htonl(NFS4_OK); >> + if (args->crsa_target_max_slots == fc_tbl->max_slots) >> + goto out_putclient; >> >> fc_tbl->target_max_slots = args->crsa_target_max_slots; >> nfs41_handle_recall_slot(clp); >> - status = htonl(NFS4_OK); >> +out_putclient: >> nfs_put_client(clp); /* balance nfs_find_client */ >> out: >> dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html