static struct nlm_file *       nlm_files[FILE_NRHASH];
 static DECLARE_MUTEX(nlm_file_sema);
 
+#ifdef NFSD_DEBUG
+static inline void nlm_debug_print_fh(char *msg, struct nfs_fh *f)
+{
+       u32 *fhp = (u32*)f->data;
+
+       /* print the first 32 bytes of the fh */
+       dprintk("lockd: %s (%08x %08x %08x %08x %08x %08x %08x %08x)\n",
+               msg, fhp[0], fhp[1], fhp[2], fhp[3],
+               fhp[4], fhp[5], fhp[6], fhp[7]);
+}
+
+static inline void nlm_debug_print_file(char *msg, struct nlm_file *file)
+{
+       struct inode *inode = file->f_file->f_dentry->d_inode;
+
+       dprintk("lockd: %s %s/%ld\n",
+               msg, inode->i_sb->s_id, inode->i_ino);
+}
+#else
+static inline void nlm_debug_print_fh(char *msg, struct nfs_fh *f)
+{
+       return;
+}
+
+static inline void nlm_debug_print_file(char *msg, struct nlm_file *file)
+{
+       return;
+}
+#endif
+
 static inline unsigned int file_hash(struct nfs_fh *f)
 {
        unsigned int tmp=0;
        struct nlm_file *file;
        unsigned int    hash;
        u32             nfserr;
-       u32             *fhp = (u32*)f->data;
-
-       dprintk("lockd: nlm_file_lookup(%08x %08x %08x %08x %08x %08x)\n",
-               fhp[0], fhp[1], fhp[2], fhp[3], fhp[4], fhp[5]);
 
+       nlm_debug_print_fh("nlm_file_lookup", f);
 
        hash = file_hash(f);
 
                if (!nfs_compare_fh(&file->f_handle, f))
                        goto found;
 
-       dprintk("lockd: creating file for (%08x %08x %08x %08x %08x %08x)\n",
-               fhp[0], fhp[1], fhp[2], fhp[3], fhp[4], fhp[5]);
+       nlm_debug_print_fh("creating file for", f);
 
        nfserr = nlm_lck_denied_nolocks;
        file = (struct nlm_file *) kmalloc(sizeof(*file), GFP_KERNEL);
 static inline void
 nlm_delete_file(struct nlm_file *file)
 {
-       struct inode *inode = file->f_file->f_dentry->d_inode;
        struct nlm_file **fp, *f;
 
-       dprintk("lockd: closing file %s/%ld\n",
-               inode->i_sb->s_id, inode->i_ino);
+       nlm_debug_print_file("closing file", file);
+
        fp = nlm_files + file->f_hash;
        while ((f = *fp) != NULL) {
                if (f == file) {
 
        struct file *file = iocb->ki_filp;
        struct nfs_open_context *ctx =
                        (struct nfs_open_context *) file->private_data;
-       struct dentry *dentry = file->f_dentry;
        struct address_space *mapping = file->f_mapping;
        struct inode *inode = mapping->host;
        struct iovec iov = {
        };
 
        dprintk("nfs: direct read(%s/%s, %lu@%lu)\n",
-               dentry->d_parent->d_name.name, dentry->d_name.name,
+               file->f_dentry->d_parent->d_name.name,
+               file->f_dentry->d_name.name,
                (unsigned long) count, (unsigned long) pos);
 
        if (!is_sync_kiocb(iocb))
        struct file *file = iocb->ki_filp;
        struct nfs_open_context *ctx =
                        (struct nfs_open_context *) file->private_data;
-       struct dentry *dentry = file->f_dentry;
        struct address_space *mapping = file->f_mapping;
        struct inode *inode = mapping->host;
        struct iovec iov = {
        };
 
        dfprintk(VFS, "nfs: direct write(%s/%s(%ld), %lu@%lu)\n",
-               dentry->d_parent->d_name.name, dentry->d_name.name,
-               inode->i_ino, (unsigned long) count, (unsigned long) pos);
+               file->f_dentry->d_parent->d_name.name,
+               file->f_dentry->d_name.name, inode->i_ino,
+               (unsigned long) count, (unsigned long) pos);
 
        if (!is_sync_kiocb(iocb))
                goto out;
 
                unsigned int offset, unsigned int count)
 {
        struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data;
-       struct dentry   *dentry = file->f_dentry;
        struct inode    *inode = page->mapping->host;
        struct nfs_page *req;
        int             status = 0;
 
        dprintk("NFS:      nfs_updatepage(%s/%s %d@%Ld)\n",
-               dentry->d_parent->d_name.name, dentry->d_name.name,
-               count, (long long)(page_offset(page) +offset));
+               file->f_dentry->d_parent->d_name.name,
+               file->f_dentry->d_name.name, count,
+               (long long)(page_offset(page) +offset));
 
        if (IS_SYNC(inode)) {
                status = nfs_writepage_sync(ctx, inode, page, offset, count, 0);
                unsigned int count, unsigned int offset,
                int how)
 {
-       struct rpc_task         *task = &data->task;
        struct inode            *inode;
 
        /* Set up the RPC argument and reply structs
        data->task.tk_release = nfs_writedata_release;
 
        dprintk("NFS: %4d initiated write call (req %s/%Ld, %u bytes @ offset %Lu)\n",
-               task->tk_pid,
+               data->task.tk_pid,
                inode->i_sb->s_id,
                (long long)NFS_FILEID(inode),
                count,
 static void nfs_commit_rpcsetup(struct list_head *head,
                struct nfs_write_data *data, int how)
 {
-       struct rpc_task         *task = &data->task;
        struct nfs_page         *first;
        struct inode            *inode;
 
        /* Release requests */
        data->task.tk_release = nfs_commit_release;
        
-       dprintk("NFS: %4d initiated commit call\n", task->tk_pid);
+       dprintk("NFS: %4d initiated commit call\n", data->task.tk_pid);
 }
 
 /*
 
 void
 rpcauth_unbindcred(struct rpc_task *task)
 {
-       struct rpc_auth *auth = task->tk_auth;
        struct rpc_cred *cred = task->tk_msg.rpc_cred;
 
        dprintk("RPC: %4d releasing %s cred %p\n",
-               task->tk_pid, auth->au_ops->au_name, cred);
+               task->tk_pid, task->tk_auth->au_ops->au_name, cred);
 
        put_rpccred(cred);
        task->tk_msg.rpc_cred = NULL;
 u32 *
 rpcauth_marshcred(struct rpc_task *task, u32 *p)
 {
-       struct rpc_auth *auth = task->tk_auth;
        struct rpc_cred *cred = task->tk_msg.rpc_cred;
 
        dprintk("RPC: %4d marshaling %s cred %p\n",
-               task->tk_pid, auth->au_ops->au_name, cred);
+               task->tk_pid, task->tk_auth->au_ops->au_name, cred);
+
        return cred->cr_ops->crmarshal(task, p);
 }
 
 u32 *
 rpcauth_checkverf(struct rpc_task *task, u32 *p)
 {
-       struct rpc_auth *auth = task->tk_auth;
        struct rpc_cred *cred = task->tk_msg.rpc_cred;
 
        dprintk("RPC: %4d validating %s cred %p\n",
-               task->tk_pid, auth->au_ops->au_name, cred);
+               task->tk_pid, task->tk_auth->au_ops->au_name, cred);
+
        return cred->cr_ops->crvalidate(task, p);
 }
 
 int
 rpcauth_refreshcred(struct rpc_task *task)
 {
-       struct rpc_auth *auth = task->tk_auth;
        struct rpc_cred *cred = task->tk_msg.rpc_cred;
        int err;
 
        dprintk("RPC: %4d refreshing %s cred %p\n",
-               task->tk_pid, auth->au_ops->au_name, cred);
+               task->tk_pid, task->tk_auth->au_ops->au_name, cred);
+
        err = cred->cr_ops->crrefresh(task);
        if (err < 0)
                task->tk_status = err;