]> err.no Git - linux-2.6/blobdiff - fs/nfs/callback_proc.c
NFS: Pull covers off IPv6 address parsing
[linux-2.6] / fs / nfs / callback_proc.c
index 7719483ecdfc0827171f1a8a8fd5b8a4aef42ba2..e89a9007c91cfcb11eff70a777dce52769e73947 100644 (file)
 #include "nfs4_fs.h"
 #include "callback.h"
 #include "delegation.h"
+#include "internal.h"
 
+#ifdef NFS_DEBUG
 #define NFSDBG_FACILITY NFSDBG_CALLBACK
+#endif
  
-unsigned nfs4_callback_getattr(struct cb_getattrargs *args, struct cb_getattrres *res)
+__be32 nfs4_callback_getattr(struct cb_getattrargs *args, struct cb_getattrres *res)
 {
-       struct nfs4_client *clp;
+       struct nfs_client *clp;
        struct nfs_delegation *delegation;
        struct nfs_inode *nfsi;
        struct inode *inode;
-       
+
        res->bitmap[0] = res->bitmap[1] = 0;
        res->status = htonl(NFS4ERR_BADHANDLE);
-       clp = nfs4_find_client(&args->addr->sin_addr);
+       clp = nfs_find_client(args->addr, 4);
        if (clp == NULL)
                goto out;
+
+       dprintk("NFS: GETATTR callback request from %s\n",
+               rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_ADDR));
+
        inode = nfs_delegation_find_inode(clp, &args->fh);
        if (inode == NULL)
                goto out_putclient;
@@ -48,22 +55,26 @@ out_iput:
        up_read(&nfsi->rwsem);
        iput(inode);
 out_putclient:
-       nfs4_put_client(clp);
+       nfs_put_client(clp);
 out:
        dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(res->status));
        return res->status;
 }
 
-unsigned nfs4_callback_recall(struct cb_recallargs *args, void *dummy)
+__be32 nfs4_callback_recall(struct cb_recallargs *args, void *dummy)
 {
-       struct nfs4_client *clp;
+       struct nfs_client *clp;
        struct inode *inode;
-       unsigned res;
+       __be32 res;
        
        res = htonl(NFS4ERR_BADHANDLE);
-       clp = nfs4_find_client(&args->addr->sin_addr);
+       clp = nfs_find_client(args->addr, 4);
        if (clp == NULL)
                goto out;
+
+       dprintk("NFS: RECALL callback request from %s\n",
+               rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_ADDR));
+
        inode = nfs_delegation_find_inode(clp, &args->fh);
        if (inode == NULL)
                goto out_putclient;
@@ -80,7 +91,7 @@ unsigned nfs4_callback_recall(struct cb_recallargs *args, void *dummy)
        }
        iput(inode);
 out_putclient:
-       nfs4_put_client(clp);
+       nfs_put_client(clp);
 out:
        dprintk("%s: exit with status = %d\n", __FUNCTION__, ntohl(res));
        return res;