summaryrefslogtreecommitdiffstats
path: root/net/rds
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-01-12 14:17:31 -0800
committerAndy Grover <andy.grover@oracle.com>2010-09-08 18:11:39 -0700
commitf4dd96f7b27743e568cec519eff0f951c56833c6 (patch)
tree7190122e832f3ce6ed394fb7293c037562b346f6 /net/rds
parentff87e97a9d70c9ae133d3d3d7792b26ab85f4297 (diff)
downloadlinux-f4dd96f7b27743e568cec519eff0f951c56833c6.tar.gz
linux-f4dd96f7b27743e568cec519eff0f951c56833c6.tar.bz2
linux-f4dd96f7b27743e568cec519eff0f951c56833c6.zip
RDS: make sure all sgs alloced are initialized
rds_message_alloc_sgs() now returns correctly-initialized sg lists, so calleds need not do this themselves. Signed-off-by: Andy Grover <andy.grover@oracle.com>
Diffstat (limited to 'net/rds')
-rw-r--r--net/rds/message.c2
-rw-r--r--net/rds/rdma.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/net/rds/message.c b/net/rds/message.c
index 4352ce79b376..7d678e217820 100644
--- a/net/rds/message.c
+++ b/net/rds/message.c
@@ -249,7 +249,7 @@ struct scatterlist *rds_message_alloc_sgs(struct rds_message *rm, int nents)
WARN_ON(rm->m_used_sgs + nents > rm->m_total_sgs);
sg_ret = &sg_first[rm->m_used_sgs];
-
+ sg_init_table(sg_ret, nents);
rm->m_used_sgs += nents;
return sg_ret;
diff --git a/net/rds/rdma.c b/net/rds/rdma.c
index 7ff3379bab14..4fda33045598 100644
--- a/net/rds/rdma.c
+++ b/net/rds/rdma.c
@@ -534,14 +534,13 @@ static int rds_rdma_prepare(struct rds_message *rm,
goto out;
}
- op->r_sg = rds_message_alloc_sgs(rm, nr_pages);
op->r_write = !!(args->flags & RDS_RDMA_READWRITE);
op->r_fence = !!(args->flags & RDS_RDMA_FENCE);
op->r_notify = !!(args->flags & RDS_RDMA_NOTIFY_ME);
op->r_active = 1;
op->r_recverr = rs->rs_recverr;
WARN_ON(!nr_pages);
- sg_init_table(op->r_sg, nr_pages);
+ op->r_sg = rds_message_alloc_sgs(rm, nr_pages);
if (op->r_notify || op->r_recverr) {
/* We allocate an uninitialized notifier here, because