mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: <linux/dlm_plock.h> should be "unifdef"ed. dlm: fix plock dev_write return value dlm: tcp_connect_to_sock should check for -EINVAL, not EINVAL dlm: section mismatch warning fix dlm: convert connections_lock in a mutex
This commit is contained in:
commit
8c4bab3a1a
4 changed files with 17 additions and 16 deletions
|
@ -50,6 +50,7 @@
|
||||||
#include <linux/pagemap.h>
|
#include <linux/pagemap.h>
|
||||||
#include <linux/idr.h>
|
#include <linux/idr.h>
|
||||||
#include <linux/file.h>
|
#include <linux/file.h>
|
||||||
|
#include <linux/mutex.h>
|
||||||
#include <linux/sctp.h>
|
#include <linux/sctp.h>
|
||||||
#include <net/sctp/user.h>
|
#include <net/sctp/user.h>
|
||||||
|
|
||||||
|
@ -138,7 +139,7 @@ static struct workqueue_struct *recv_workqueue;
|
||||||
static struct workqueue_struct *send_workqueue;
|
static struct workqueue_struct *send_workqueue;
|
||||||
|
|
||||||
static DEFINE_IDR(connections_idr);
|
static DEFINE_IDR(connections_idr);
|
||||||
static DECLARE_MUTEX(connections_lock);
|
static DEFINE_MUTEX(connections_lock);
|
||||||
static int max_nodeid;
|
static int max_nodeid;
|
||||||
static struct kmem_cache *con_cache;
|
static struct kmem_cache *con_cache;
|
||||||
|
|
||||||
|
@ -205,9 +206,9 @@ static struct connection *nodeid2con(int nodeid, gfp_t allocation)
|
||||||
{
|
{
|
||||||
struct connection *con;
|
struct connection *con;
|
||||||
|
|
||||||
down(&connections_lock);
|
mutex_lock(&connections_lock);
|
||||||
con = __nodeid2con(nodeid, allocation);
|
con = __nodeid2con(nodeid, allocation);
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
|
|
||||||
return con;
|
return con;
|
||||||
}
|
}
|
||||||
|
@ -218,15 +219,15 @@ static struct connection *assoc2con(int assoc_id)
|
||||||
int i;
|
int i;
|
||||||
struct connection *con;
|
struct connection *con;
|
||||||
|
|
||||||
down(&connections_lock);
|
mutex_lock(&connections_lock);
|
||||||
for (i=0; i<=max_nodeid; i++) {
|
for (i=0; i<=max_nodeid; i++) {
|
||||||
con = __nodeid2con(i, 0);
|
con = __nodeid2con(i, 0);
|
||||||
if (con && con->sctp_assoc == assoc_id) {
|
if (con && con->sctp_assoc == assoc_id) {
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
return con;
|
return con;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,7 +382,7 @@ static void sctp_init_failed(void)
|
||||||
int i;
|
int i;
|
||||||
struct connection *con;
|
struct connection *con;
|
||||||
|
|
||||||
down(&connections_lock);
|
mutex_lock(&connections_lock);
|
||||||
for (i=1; i<=max_nodeid; i++) {
|
for (i=1; i<=max_nodeid; i++) {
|
||||||
con = __nodeid2con(i, 0);
|
con = __nodeid2con(i, 0);
|
||||||
if (!con)
|
if (!con)
|
||||||
|
@ -393,7 +394,7 @@ static void sctp_init_failed(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Something happened to an association */
|
/* Something happened to an association */
|
||||||
|
@ -930,7 +931,7 @@ static void tcp_connect_to_sock(struct connection *con)
|
||||||
* errors we try again until the max number of retries is reached.
|
* errors we try again until the max number of retries is reached.
|
||||||
*/
|
*/
|
||||||
if (result != -EHOSTUNREACH && result != -ENETUNREACH &&
|
if (result != -EHOSTUNREACH && result != -ENETUNREACH &&
|
||||||
result != -ENETDOWN && result != EINVAL
|
result != -ENETDOWN && result != -EINVAL
|
||||||
&& result != -EPROTONOSUPPORT) {
|
&& result != -EPROTONOSUPPORT) {
|
||||||
lowcomms_connect_sock(con);
|
lowcomms_connect_sock(con);
|
||||||
result = 0;
|
result = 0;
|
||||||
|
@ -1417,7 +1418,7 @@ void dlm_lowcomms_stop(void)
|
||||||
/* Set all the flags to prevent any
|
/* Set all the flags to prevent any
|
||||||
socket activity.
|
socket activity.
|
||||||
*/
|
*/
|
||||||
down(&connections_lock);
|
mutex_lock(&connections_lock);
|
||||||
for (i = 0; i <= max_nodeid; i++) {
|
for (i = 0; i <= max_nodeid; i++) {
|
||||||
con = __nodeid2con(i, 0);
|
con = __nodeid2con(i, 0);
|
||||||
if (con) {
|
if (con) {
|
||||||
|
@ -1426,11 +1427,11 @@ void dlm_lowcomms_stop(void)
|
||||||
con->sock->sk->sk_user_data = NULL;
|
con->sock->sk->sk_user_data = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
|
|
||||||
work_stop();
|
work_stop();
|
||||||
|
|
||||||
down(&connections_lock);
|
mutex_lock(&connections_lock);
|
||||||
clean_writequeues();
|
clean_writequeues();
|
||||||
|
|
||||||
for (i = 0; i <= max_nodeid; i++) {
|
for (i = 0; i <= max_nodeid; i++) {
|
||||||
|
@ -1443,7 +1444,7 @@ void dlm_lowcomms_stop(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
max_nodeid = 0;
|
max_nodeid = 0;
|
||||||
up(&connections_lock);
|
mutex_unlock(&connections_lock);
|
||||||
kmem_cache_destroy(con_cache);
|
kmem_cache_destroy(con_cache);
|
||||||
idr_init(&connections_idr);
|
idr_init(&connections_idr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@ int __init dlm_netlink_init(void)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __exit dlm_netlink_exit(void)
|
void dlm_netlink_exit(void)
|
||||||
{
|
{
|
||||||
genl_unregister_ops(&family, &dlm_nl_ops);
|
genl_unregister_ops(&family, &dlm_nl_ops);
|
||||||
genl_unregister_family(&family);
|
genl_unregister_family(&family);
|
||||||
|
|
|
@ -379,7 +379,7 @@ static ssize_t dev_write(struct file *file, const char __user *u, size_t count,
|
||||||
struct plock_xop *xop;
|
struct plock_xop *xop;
|
||||||
xop = (struct plock_xop *)op;
|
xop = (struct plock_xop *)op;
|
||||||
if (xop->callback)
|
if (xop->callback)
|
||||||
count = dlm_plock_callback(op);
|
dlm_plock_callback(op);
|
||||||
else
|
else
|
||||||
wake_up(&recv_wq);
|
wake_up(&recv_wq);
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -105,7 +105,6 @@ header-y += ixjuser.h
|
||||||
header-y += jffs2.h
|
header-y += jffs2.h
|
||||||
header-y += keyctl.h
|
header-y += keyctl.h
|
||||||
header-y += limits.h
|
header-y += limits.h
|
||||||
header-y += dlm_plock.h
|
|
||||||
header-y += magic.h
|
header-y += magic.h
|
||||||
header-y += major.h
|
header-y += major.h
|
||||||
header-y += matroxfb.h
|
header-y += matroxfb.h
|
||||||
|
@ -190,6 +189,7 @@ unifdef-y += cyclades.h
|
||||||
unifdef-y += dccp.h
|
unifdef-y += dccp.h
|
||||||
unifdef-y += dirent.h
|
unifdef-y += dirent.h
|
||||||
unifdef-y += dlm.h
|
unifdef-y += dlm.h
|
||||||
|
unifdef-y += dlm_plock.h
|
||||||
unifdef-y += edd.h
|
unifdef-y += edd.h
|
||||||
unifdef-y += elf.h
|
unifdef-y += elf.h
|
||||||
unifdef-y += elfcore.h
|
unifdef-y += elfcore.h
|
||||||
|
|
Loading…
Reference in a new issue