On Sun, Nov 14, 2010 at 7:05 AM, Benny Halevy <bhalevy@xxxxxxxxxxx> wrote: > On 2010-11-12 10:48, Fred Isaman wrote: >> Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxx> >> --- >> fs/nfs/callback.h | 26 ++++++++++++++++++++++++++ >> fs/nfs/callback_proc.c | 6 ------ >> fs/nfs/callback_xdr.c | 3 +-- >> fs/nfs/internal.h | 4 ++++ >> 4 files changed, 31 insertions(+), 8 deletions(-) >> >> diff --git a/fs/nfs/callback.h b/fs/nfs/callback.h >> index 89fee05..0b1f3c4 100644 >> --- a/fs/nfs/callback.h >> +++ b/fs/nfs/callback.h >> @@ -8,6 +8,8 @@ >> #ifndef __LINUX_FS_NFS_CALLBACK_H >> #define __LINUX_FS_NFS_CALLBACK_H >> >> +#include "internal.h" >> + >> #define NFS4_CALLBACK 0x40000000 >> #define NFS4_CALLBACK_XDRSIZE 2048 >> #define NFS4_CALLBACK_BUFSIZE (1024 + NFS4_CALLBACK_XDRSIZE) >> @@ -158,6 +160,30 @@ extern unsigned nfs4_callback_layoutrecall( >> struct cb_layoutrecallargs *args, >> void *dummy, struct cb_process_state *cps); >> >> +static inline void put_session_client(struct nfs4_session *session) >> +{ >> + if (session) /* matched by cb_sequence find_client_with_session */ > > nit: comment out of scope. belongs to the call site, not here... > >> + nfs_put_client(session->clp); >> +} >> + >> +static inline struct nfs_client * >> +find_client_from_cps(struct cb_process_state *cps, struct sockaddr *addr) >> +{ >> + return cps->session ? cps->session->clp : nfs_find_client(addr, 4); >> +} >> + >> +#else > > nit: /* CONFIG_NFS_V4_1 */ comment missing > > (I'll fix both in my tree) > > Benny OK, thanks. Fred > >> + >> +static inline struct nfs_client * >> +find_client_from_cps(struct cb_process_state *cps, struct sockaddr *addr) >> +{ >> + return nfs_find_client(addr, 4); >> +} >> + >> +static inline void put_session_client(struct nfs4_session *session) >> +{ >> +} >> + >> #endif /* CONFIG_NFS_V4_1 */ >> >> extern __be32 nfs4_callback_getattr(struct cb_getattrargs *args, >> diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c >> index 2e62155..d02997a 100644 >> --- a/fs/nfs/callback_proc.c >> +++ b/fs/nfs/callback_proc.c >> @@ -21,12 +21,6 @@ >> #define NFSDBG_FACILITY NFSDBG_CALLBACK >> #endif >> >> -static struct nfs_client * >> -find_client_from_cps(struct cb_process_state *cps, struct sockaddr *addr) >> -{ >> - return cps->session ? cps->session->clp : nfs_find_client(addr, 4); >> -} >> - >> __be32 nfs4_callback_getattr(struct cb_getattrargs *args, >> struct cb_getattrres *res, >> struct cb_process_state *cps) >> diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c >> index 1650ab0..01688ce 100644 >> --- a/fs/nfs/callback_xdr.c >> +++ b/fs/nfs/callback_xdr.c >> @@ -770,8 +770,7 @@ static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *r >> >> *hdr_res.status = status; >> *hdr_res.nops = htonl(nops); >> - if (cps.session) /* matched by cb_sequence find_client_with_session */ >> - nfs_put_client(cps.session->clp); >> + put_session_client(cps.session); >> dprintk("%s: done, status = %u\n", __func__, ntohl(status)); >> return rpc_success; >> } >> diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h >> index 755e555..6f14089 100644 >> --- a/fs/nfs/internal.h >> +++ b/fs/nfs/internal.h >> @@ -2,6 +2,8 @@ >> * NFS internal definitions >> */ >> >> +#ifndef __LINUX_FS_NFS_INTERNAL_H >> +#define __LINUX_FS_NFS_INTERNAL_H >> #include "nfs4_fs.h" >> #include <linux/mount.h> >> #include <linux/security.h> >> @@ -415,3 +417,5 @@ static inline int nfs_restart_rpc(struct rpc_task *task, const struct nfs_client >> return rpc_restart_call_prepare(task); >> return rpc_restart_call(task); >> } >> + >> +#endif /* __LINUX_FS_NFS_INTERNAL_H */ > -- > 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