cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: fabbione@sourceware.org <fabbione@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/gnbd-kernel/src gnbd.c
Date: 28 Jan 2008 06:13:15 -0000	[thread overview]
Message-ID: <20080128061315.21764.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	fabbione at sourceware.org	2008-01-28 06:13:15

Modified files:
	gnbd-kernel/src: gnbd.c 

Log message:
	Update gnbd kernel modules to build with 2.6.24

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/src/gnbd.c.diff?cvsroot=cluster&r1=1.20&r2=1.21

--- cluster/gnbd-kernel/src/gnbd.c	2007/06/19 22:31:56	1.20
+++ cluster/gnbd-kernel/src/gnbd.c	2008/01/28 06:13:15	1.21
@@ -168,7 +168,7 @@
 	
 	if (down_trylock(&dev->do_it_lock))
 		return -EBUSY;
-	res = sscanf(buf, "%Lu\n", &size);
+	res = sscanf(buf, "%Lu\n", (unsigned long long int *)&size);
 	if (res != 1){
 		up(&dev->do_it_lock);
 		return -EINVAL;
@@ -267,7 +267,7 @@
 static void gnbd_end_request(struct request *req)
 {
 	int uptodate = (req->errors == 0) ? 1 : 0;
-	request_queue_t *q = req->q;
+	struct request_queue *q = req->q;
 	unsigned long flags;
 
 	dprintk(DBG_BLKDEV, "%s: request %p: %s\n", req->rq_disk->disk_name,
@@ -369,7 +369,7 @@
 int __gnbd_send_req(struct gnbd_device *dev, struct socket *sock,
 		struct request *req, int can_signal)
 {
-	int result, i, flags;
+	int result, flags;
 	struct gnbd_request request;
 	unsigned long size = req->nr_sectors << 9;
 
@@ -403,28 +403,26 @@
 	}
 
 	if (gnbd_cmd(req) == GNBD_CMD_WRITE) {
-		struct bio *bio;
+		struct req_iterator iter;
+		struct bio_vec *bvec;
 		/*
 		 * we are really probing@internals to determine
 		 * whether to set MSG_MORE or not...
 		 */
-		rq_for_each_bio(bio, req) {
-			struct bio_vec *bvec;
-			bio_for_each_segment(bvec, bio, i) {
-				flags = 0;
-				if ((i < (bio->bi_vcnt - 1)) || bio->bi_next)
-					flags = MSG_MORE;
-				dprintk(DBG_TX, "%s: request %p: sending %d bytes data\n",
-						dev->disk->disk_name, req,
-						bvec->bv_len);
-				result = sock_send_bvec(sock, bvec, flags,
-							can_signal);
-				if (result < 0) {
-					printk(KERN_ERR "%s: Send data failed (result %d)\n",
-							dev->disk->disk_name,
-							result);
-					goto error_out;
-				}
+		rq_for_each_segment(bvec, req, iter) {
+			flags = 0;
+			if (!rq_iter_last(req, iter))
+				flags = MSG_MORE;
+			dprintk(DBG_TX, "%s: request %p: sending %d bytes data\n",
+					dev->disk->disk_name, req,
+					bvec->bv_len);
+			result = sock_send_bvec(sock, bvec, flags,
+						can_signal);
+			if (result < 0) {
+				printk(KERN_ERR "%s: Send data failed (result %d)\n",
+						dev->disk->disk_name,
+						result);
+				goto error_out;
 			}
 		}
 	}
@@ -464,21 +462,19 @@
 int gnbd_recv_req(struct gnbd_device *dev, struct request *req)
 {
 	int result;
-	int i;
-	struct bio *bio;
-	rq_for_each_bio(bio, req) {
-		struct bio_vec *bvec;
-		bio_for_each_segment(bvec, bio, i) {
-			result = sock_recv_bvec(dev->sock, bvec);
-			if (result < 0) {
-				printk(KERN_ERR "%s: Receive data failed (result %d)\n",
-						dev->disk->disk_name,
-						result);
-				return result;
-			}
-			dprintk(DBG_RX, "%s: request %p: got %d bytes data\n",
-					dev->disk->disk_name, req, bvec->bv_len);
+	struct bio_vec *bvec;
+	struct req_iterator iter;
+
+	rq_for_each_segment(bvec, req, iter) {
+		result = sock_recv_bvec(dev->sock, bvec);
+		if (result < 0) {
+			printk(KERN_ERR "%s: Receive data failed (result %d)\n",
+					dev->disk->disk_name,
+					result);
+			return result;
 		}
+		dprintk(DBG_RX, "%s: request %p: got %d bytes data\n",
+				dev->disk->disk_name, req, bvec->bv_len);
 	}
 	return 0;
 }
@@ -565,7 +561,7 @@
  *   { printk( "Warning: Ignoring result!\n"); gnbd_end_request( req ); }
  */
 
-static void do_gnbd_request(request_queue_t * q)
+static void do_gnbd_request(struct request_queue *q)
 {
 	int err;
 	struct request *req;



             reply	other threads:[~2008-01-28  6:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-28  6:13 fabbione [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-06-19 22:34 [Cluster-devel] cluster/gnbd-kernel/src gnbd.c bmarzins
2007-06-19 22:31 bmarzins
2007-01-05 23:01 bmarzins
2006-12-18 18:18 bmarzins
2006-12-18 18:17 bmarzins
2006-12-18 18:15 bmarzins
2006-11-09 21:22 bmarzins
2006-08-08 21:04 bmarzins
2006-07-12 17:34 bmarzins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080128061315.21764.qmail@sourceware.org \
    --to=fabbione@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).