[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#703905: unblock: lio-utils/3.1+git2.fd0b34fd-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package lio-utils. I have uploaded the package to
unstable

This unblock request is for a fix that has been committed and notified
by upstream.

Justification is:

This patch fixes a bug in fd_get_params() where FILEIO buffered enabled
mode was not being saved across reboots in /etc/target/tcm_start.sh, causing
FILEIO devices created with buffered=true to revert to O_DSYNC mode.

http://www.risingtidesystems.com/git/?p=lio-utils.git;a=commitdiff;h=5d0f4829aa130619e81edad3fe0aaa697fa00be4

debdiff attached.

unblock lio-utils/3.1+git2.fd0b34fd-2

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.8-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_IN, LC_CTYPE=en_IN (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru lio-utils-3.1+git2.fd0b34fd/debian/changelog lio-utils-3.1+git2.fd0b34fd/debian/changelog
--- lio-utils-3.1+git2.fd0b34fd/debian/changelog	2012-05-15 17:57:08.000000000 +0530
+++ lio-utils-3.1+git2.fd0b34fd/debian/changelog	2013-03-25 21:07:34.000000000 +0530
@@ -1,3 +1,10 @@
+lio-utils (3.1+git2.fd0b34fd-2) unstable; urgency=low
+
+  * [5a3076c] Pick patch from upstream to set buffered io persistent
+    across reboots. Thanks to Nicholas Bellinger
+
+ -- Ritesh Raj Sarraf <rrs@debian.org>  Mon, 25 Mar 2013 21:06:14 +0530
+
 lio-utils (3.1+git2.fd0b34fd-1) unstable; urgency=low
 
   * [2dcd774] Add README.source
diff -Nru lio-utils-3.1+git2.fd0b34fd/debian/patches/series lio-utils-3.1+git2.fd0b34fd/debian/patches/series
--- lio-utils-3.1+git2.fd0b34fd/debian/patches/series	2012-05-15 17:57:08.000000000 +0530
+++ lio-utils-3.1+git2.fd0b34fd/debian/patches/series	2013-03-25 21:07:34.000000000 +0530
@@ -1,2 +1,3 @@
+tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
 shell-script-header.patch
 initscript.patch
diff -Nru lio-utils-3.1+git2.fd0b34fd/debian/patches/tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch lio-utils-3.1+git2.fd0b34fd/debian/patches/tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch
--- lio-utils-3.1+git2.fd0b34fd/debian/patches/tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch	1970-01-01 05:30:00.000000000 +0530
+++ lio-utils-3.1+git2.fd0b34fd/debian/patches/tcm-file-Set-fd_buffered_io-1-based-upon-active-FILE.patch	2013-03-25 21:07:34.000000000 +0530
@@ -0,0 +1,80 @@
+From 5d0f4829aa130619e81edad3fe0aaa697fa00be4 Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@risingtidesystems.com>
+Date: Thu, 31 Jan 2013 11:54:05 -0800
+Subject: [PATCH 1/2] tcm-file: Set fd_buffered_io=1 based upon active FILEIO
+ mode
+
+This patch fixes a bug in fd_get_params() where FILEIO buffered enabled mode
+was not being saved across reboots in /etc/target/tcm_start.sh, causing
+FILEIO devices created with buffered=true to revert to O_DSYNC mode.
+
+Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
+Signed-off-by: Ritesh Raj Sarraf <rrs@debian.org>
+---
+ tcm-py/tcm_fileio.py |   30 ++++++++++++++++++++++++++----
+ 1 file changed, 26 insertions(+), 4 deletions(-)
+
+diff --git a/tcm-py/tcm_fileio.py b/tcm-py/tcm_fileio.py
+index c130bc6..7429844 100755
+--- a/tcm-py/tcm_fileio.py
++++ b/tcm-py/tcm_fileio.py
+@@ -50,15 +50,29 @@ def createvirtdev(path, params):
+ def fd_freevirtdev():
+ 	pass
+ 
++def fd_get_buffered_mode(value):
++
++	off = value.index(' Mode: ')
++	off += 7
++	fd_dev_mode_tmp = value[off:]
++	fd_dev_mode = fd_dev_mode_tmp.split(' ')
++	if re.search('Buffered', fd_dev_mode[0]):
++		fd_dev_mode_str = ",fd_buffered_io=1"
++	else:
++		fd_dev_mode_str = ""
++
++	return fd_dev_mode_str
++
+ def fd_get_params(path):
+         # Reference by udev_path if available   
+ 	udev_path_file = path + "/udev_path"
+ 	p = os.open(udev_path_file, 0)
+ 	value = os.read(p, 1024)
+ 	if re.search('/dev/', value):
+-		os.close(p)
+-		# Append a FILEIO size of ' 0', as struct block_device sector count is autodetected by TCM
+-		return "fd_dev_name=" + value.rstrip() + ",fd_dev_size=0"
++		fd_dev_blockdev = 1
++		fd_dev_blockdev_str = "fd_dev_name=" + value.rstrip() + ",fd_dev_size=0"
++	else:
++		fd_dev_blockdev = 0
+ 
+ 	os.close(p)
+ 
+@@ -71,6 +85,11 @@ def fd_get_params(path):
+ 		return
+ 	p.close()
+ 
++	if fd_dev_blockdev:
++		fd_dev_mode_str = fd_get_buffered_mode(value)
++		# Append a FILEIO size of ' 0', as struct block_device sector count is autodetected by TCM
++		return fd_dev_blockdev_str + fd_dev_mode_str
++
+ 	off = value.index('File: ')
+ 	off += 6
+ 	fd_dev_name_tmp = value[off:]
+@@ -79,7 +98,10 @@ def fd_get_params(path):
+ 	off += 7
+ 	fd_dev_size_tmp = value[off:]
+ 	fd_dev_size = fd_dev_size_tmp.split(' ')
+-	params = "fd_dev_name=" + fd_dev_name[0] + ",fd_dev_size=" + fd_dev_size[0]
++
++	fd_dev_mode_str = fd_get_buffered_mode(value)
++
++	params = "fd_dev_name=" + fd_dev_name[0] + ",fd_dev_size=" + fd_dev_size[0] + fd_dev_mode_str
+ 
+ 	# fd_dev_name= and fd_dev_size= parameters for tcm_node --createdev
+ 	return params
+-- 
+1.7.10.4
+

Reply to: