diff options
author | David Teigland <teigland@redhat.com> | 2009-05-15 11:50:57 -0400 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2009-05-15 12:24:59 -0400 |
commit | 748285ccf7ea76d3d76d0d5f2945ad6fb91f5329 (patch) | |
tree | aeb56a0e18c2f54acccb65e5b6e8ac63f53dfc44 /fs/dlm/lowcomms.c | |
parent | 391fbdc5d527149578490db2f1619951d91f3561 (diff) |
dlm: use more NOFS allocation
Change some GFP_KERNEL allocations to use either GFP_NOFS or
ls_allocation (when available) which the fs sets to GFP_NOFS.
The point is to prevent allocations from going back into the
cluster fs in places where that might lead to deadlock.
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r-- | fs/dlm/lowcomms.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index 2559a97f0ddc..cdb580a9c7a2 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c | |||
@@ -500,7 +500,7 @@ static void process_sctp_notification(struct connection *con, | |||
500 | return; | 500 | return; |
501 | } | 501 | } |
502 | 502 | ||
503 | new_con = nodeid2con(nodeid, GFP_KERNEL); | 503 | new_con = nodeid2con(nodeid, GFP_NOFS); |
504 | if (!new_con) | 504 | if (!new_con) |
505 | return; | 505 | return; |
506 | 506 | ||
@@ -736,7 +736,7 @@ static int tcp_accept_from_sock(struct connection *con) | |||
736 | * the same time and the connections cross on the wire. | 736 | * the same time and the connections cross on the wire. |
737 | * In this case we store the incoming one in "othercon" | 737 | * In this case we store the incoming one in "othercon" |
738 | */ | 738 | */ |
739 | newcon = nodeid2con(nodeid, GFP_KERNEL); | 739 | newcon = nodeid2con(nodeid, GFP_NOFS); |
740 | if (!newcon) { | 740 | if (!newcon) { |
741 | result = -ENOMEM; | 741 | result = -ENOMEM; |
742 | goto accept_err; | 742 | goto accept_err; |
@@ -746,7 +746,7 @@ static int tcp_accept_from_sock(struct connection *con) | |||
746 | struct connection *othercon = newcon->othercon; | 746 | struct connection *othercon = newcon->othercon; |
747 | 747 | ||
748 | if (!othercon) { | 748 | if (!othercon) { |
749 | othercon = kmem_cache_zalloc(con_cache, GFP_KERNEL); | 749 | othercon = kmem_cache_zalloc(con_cache, GFP_NOFS); |
750 | if (!othercon) { | 750 | if (!othercon) { |
751 | log_print("failed to allocate incoming socket"); | 751 | log_print("failed to allocate incoming socket"); |
752 | mutex_unlock(&newcon->sock_mutex); | 752 | mutex_unlock(&newcon->sock_mutex); |