[oe-commits] Tim 'timtim' Ellis : iscsi-target: Fix for 2.6.29 too

GIT User account git at amethyst.openembedded.net
Sat Feb 14 00:29:31 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 09c243f95c891b7f482c9ddb17fe296d944024a0
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=09c243f95c891b7f482c9ddb17fe296d944024a0

Author: Tim 'timtim' Ellis <tim.ellis at foonas.org>
Date:   Sat Feb 14 00:29:21 2009 +0000

iscsi-target: Fix for 2.6.29 too

---

 packages/iscsi-target/files/2.6.29.patch     |   72 ++++++++++++++++++++++++++
 packages/iscsi-target/iscsi-target_0.4.17.bb |    3 +-
 2 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/packages/iscsi-target/files/2.6.29.patch b/packages/iscsi-target/files/2.6.29.patch
new file mode 100644
index 0000000..24c1afb
--- /dev/null
+++ b/packages/iscsi-target/files/2.6.29.patch
@@ -0,0 +1,72 @@
+Index: iscsitarget-0.4.17/kernel/block-io.c
+===================================================================
+--- iscsitarget-0.4.17/kernel/block-io.c	(revision 198)
++++ iscsitarget-0.4.17/kernel/block-io.c	(working copy)
+@@ -13,6 +13,7 @@
+ #include <linux/blkdev.h>
+ #include <linux/parser.h>
+ #include <linux/buffer_head.h>
++#include <linux/version.h>
+ 
+ #include "iscsi.h"
+ #include "iscsi_dbg.h"
+@@ -154,14 +155,22 @@
+ {
+ 	struct blockio_data *bio_data = volume->private;
+ 	struct block_device *bdev;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
+ 	int flags = LUReadonly(volume) ? MS_RDONLY : 0;
++#else
++	fmode_t flags = LUReadonly(volume) ? FMODE_READ : (FMODE_READ | FMODE_WRITE);
++#endif
+ 	int err = 0;
+ 
+ 	bio_data->path = kstrdup(path, GFP_KERNEL);
+ 	if (!bio_data->path)
+ 		return -ENOMEM;
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
+ 	bdev = open_bdev_excl(path, flags, THIS_MODULE);
++#else
++	bdev = open_bdev_exclusive(path, flags, THIS_MODULE);
++#endif
+ 	if (IS_ERR(bdev)) {
+ 		err = PTR_ERR(bdev);
+ 		eprintk("Can't open device %s, error %d\n", path, err);
+@@ -324,8 +333,17 @@
+ {
+ 	struct blockio_data *bio_data = volume->private;
+ 
+-	if (bio_data->bdev)
++	if (bio_data->bdev) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
+ 		close_bdev_excl(bio_data->bdev);
++#else
++		if (LUReadonly(volume)) {
++			close_bdev_exclusive(bio_data->bdev, FMODE_READ);
++		} else {
++			close_bdev_exclusive(bio_data->bdev, FMODE_READ|FMODE_WRITE);
++		}
++#endif
++	}
+ 	kfree(bio_data->path);
+ 
+ 	kfree(volume->private);
+Index: iscsitarget-0.4.17/kernel/conn.c
+===================================================================
+--- iscsitarget-0.4.17/kernel/conn.c	(revision 198)
++++ iscsitarget-0.4.17/kernel/conn.c	(working copy)
+@@ -46,9 +46,13 @@
+ 				 "%u.%u.%u.%u", NIPQUAD(inet_sk(sk)->daddr));
+ 			break;
+ 		case AF_INET6:
++#ifdef NIP6
+ 			snprintf(buf, sizeof(buf),
+ 				 "[%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x]",
+ 				 NIP6(inet6_sk(sk)->daddr));
++#else
++			snprintf(buf, sizeof(buf), "[%p6]", &inet6_sk(sk)->daddr);
++#endif
+ 			break;
+ 		default:
+ 			break;
diff --git a/packages/iscsi-target/iscsi-target_0.4.17.bb b/packages/iscsi-target/iscsi-target_0.4.17.bb
index deb0902..07cbee9 100644
--- a/packages/iscsi-target/iscsi-target_0.4.17.bb
+++ b/packages/iscsi-target/iscsi-target_0.4.17.bb
@@ -1,10 +1,11 @@
 DESCRIPTION = "iSCSI Enterprise Target is for building an iSCSI storage system on Linux"
 HOMEPAGE = "http://iscsitarget.sourceforge.net/"
 LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/iscsitarget/iscsitarget-${PV}.tar.gz \
            file://libs.patch;patch=1 \
+           file://2.6.29.patch;patch=1 \
            file://ietd.conf \
            file://init"
 S = "${WORKDIR}/iscsitarget-${PV}"





More information about the Openembedded-commits mailing list