From: Linus Torvalds Date: Mon, 15 Oct 2007 17:46:05 +0000 (-0700) Subject: Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 X-Git-Tag: v2.6.24-rc1~1285 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4921aff5b174349bc36551f142a5dbac782ea3f;p=linux-2.6 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits) NFSv4: Fix a typo in nfs_inode_reclaim_delegation NFS: Add a boot parameter to disable 64 bit inode numbers NFS: nfs_refresh_inode should clear cache_validity flags on success NFS: Fix a connectathon regression in NFSv3 and NFSv4 NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode SUNRPC: Don't call xprt_release in call refresh SUNRPC: Don't call xprt_release() if call_allocate fails SUNRPC: Fix buggy UDP transmission [23/37] Clean up duplicate includes in [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static SUNRPC: Use correct type in buffer length calculations SUNRPC: Fix default hostname created in rpc_create() nfs: add server port to rpc_pipe info file NFS: Get rid of some obsolete macros NFS: Simplify filehandle revalidation NFS: Ensure that nfs_link() returns a hashed dentry NFS: Be strict about dentry revalidation when doing exclusive create NFS: Don't zap the readdir caches upon error NFS: Remove the redundant nfs_reval_fsid() NFSv3: Always use directory post-op attributes in nfs3_proc_lookup ... Fix up trivial conflict due to sock_owned_by_user() cleanup manually in net/sunrpc/xprtsock.c --- f4921aff5b174349bc36551f142a5dbac782ea3f diff --cc net/sunrpc/xprtsock.c index 282efd447a,6f32cc57f4..02298f529d --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@@ -1183,27 -1346,29 +1346,29 @@@ static int xs_bind6(struct sock_xprt *t static struct lock_class_key xs_key[2]; static struct lock_class_key xs_slock_key[2]; - static inline void xs_reclassify_socket(struct socket *sock) + static inline void xs_reclassify_socket4(struct socket *sock) { struct sock *sk = sock->sk; + - BUG_ON(sk->sk_lock.owner != NULL); + BUG_ON(sock_owned_by_user(sk)); - switch (sk->sk_family) { - case AF_INET: - sock_lock_init_class_and_name(sk, "slock-AF_INET-NFS", - &xs_slock_key[0], "sk_lock-AF_INET-NFS", &xs_key[0]); - break; + sock_lock_init_class_and_name(sk, "slock-AF_INET-RPC", + &xs_slock_key[0], "sk_lock-AF_INET-RPC", &xs_key[0]); + } - case AF_INET6: - sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFS", - &xs_slock_key[1], "sk_lock-AF_INET6-NFS", &xs_key[1]); - break; + static inline void xs_reclassify_socket6(struct socket *sock) + { + struct sock *sk = sock->sk; - default: - BUG(); - } - BUG_ON(sk->sk_lock.owner != NULL); ++ BUG_ON(sock_owned_by_user(sk)); + sock_lock_init_class_and_name(sk, "slock-AF_INET6-RPC", + &xs_slock_key[1], "sk_lock-AF_INET6-RPC", &xs_key[1]); } #else - static inline void xs_reclassify_socket(struct socket *sock) + static inline void xs_reclassify_socket4(struct socket *sock) + { + } + + static inline void xs_reclassify_socket6(struct socket *sock) { } #endif