aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/mds_client.c
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@hq.newdream.net>2010-04-06 17:33:58 -0400
committerSage Weil <sage@newdream.net>2010-05-17 18:25:42 -0400
commit34d23762d988b7dcb08390ac72a353df3d60193c (patch)
tree3a49d039527548697165da2b8789f3588b95ffed /fs/ceph/mds_client.c
parent23804d91f112df09b832cd091b71af4dc2831aa8 (diff)
ceph: all allocation functions should get gfp_mask
This is essential, as for the rados block device we'll need to run in different contexts that would need flags that are other than GFP_NOFS. Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r--fs/ceph/mds_client.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 5c17ab44d02d..1b786cf2c7af 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -665,7 +665,7 @@ static struct ceph_msg *create_session_msg(u32 op, u64 seq)
665 struct ceph_msg *msg; 665 struct ceph_msg *msg;
666 struct ceph_mds_session_head *h; 666 struct ceph_mds_session_head *h;
667 667
668 msg = ceph_msg_new(CEPH_MSG_CLIENT_SESSION, sizeof(*h)); 668 msg = ceph_msg_new(CEPH_MSG_CLIENT_SESSION, sizeof(*h), GFP_NOFS);
669 if (!msg) { 669 if (!msg) {
670 pr_err("create_session_msg ENOMEM creating msg\n"); 670 pr_err("create_session_msg ENOMEM creating msg\n");
671 return NULL; 671 return NULL;
@@ -1089,7 +1089,8 @@ static int add_cap_releases(struct ceph_mds_client *mdsc,
1089 1089
1090 while (session->s_num_cap_releases < session->s_nr_caps + extra) { 1090 while (session->s_num_cap_releases < session->s_nr_caps + extra) {
1091 spin_unlock(&session->s_cap_lock); 1091 spin_unlock(&session->s_cap_lock);
1092 msg = ceph_msg_new(CEPH_MSG_CLIENT_CAPRELEASE, PAGE_CACHE_SIZE); 1092 msg = ceph_msg_new(CEPH_MSG_CLIENT_CAPRELEASE, PAGE_CACHE_SIZE,
1093 GFP_NOFS);
1093 if (!msg) 1094 if (!msg)
1094 goto out_unlocked; 1095 goto out_unlocked;
1095 dout("add_cap_releases %p msg %p now %d\n", session, msg, 1096 dout("add_cap_releases %p msg %p now %d\n", session, msg,
@@ -1492,7 +1493,7 @@ static struct ceph_msg *create_request_message(struct ceph_mds_client *mdsc,
1492 if (req->r_old_dentry_drop) 1493 if (req->r_old_dentry_drop)
1493 len += req->r_old_dentry->d_name.len; 1494 len += req->r_old_dentry->d_name.len;
1494 1495
1495 msg = ceph_msg_new(CEPH_MSG_CLIENT_REQUEST, len); 1496 msg = ceph_msg_new(CEPH_MSG_CLIENT_REQUEST, len, GFP_NOFS);
1496 if (!msg) { 1497 if (!msg) {
1497 msg = ERR_PTR(-ENOMEM); 1498 msg = ERR_PTR(-ENOMEM);
1498 goto out_free2; 1499 goto out_free2;
@@ -2244,7 +2245,7 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc,
2244 goto fail_nopagelist; 2245 goto fail_nopagelist;
2245 ceph_pagelist_init(pagelist); 2246 ceph_pagelist_init(pagelist);
2246 2247
2247 reply = ceph_msg_new(CEPH_MSG_CLIENT_RECONNECT, 0); 2248 reply = ceph_msg_new(CEPH_MSG_CLIENT_RECONNECT, 0, GFP_NOFS);
2248 if (!reply) 2249 if (!reply)
2249 goto fail_nomsg; 2250 goto fail_nomsg;
2250 2251
@@ -2535,7 +2536,7 @@ void ceph_mdsc_lease_send_msg(struct ceph_mds_session *session,
2535 dnamelen = dentry->d_name.len; 2536 dnamelen = dentry->d_name.len;
2536 len += dnamelen; 2537 len += dnamelen;
2537 2538
2538 msg = ceph_msg_new(CEPH_MSG_CLIENT_LEASE, len); 2539 msg = ceph_msg_new(CEPH_MSG_CLIENT_LEASE, len, GFP_NOFS);
2539 if (!msg) 2540 if (!msg)
2540 return; 2541 return;
2541 lease = msg->front.iov_base; 2542 lease = msg->front.iov_base;