[meego-commits] 14584: Changes to devel:kernel/kernel

New Fang no_reply at build.meego.com
Tue Mar 8 07:16:07 UTC 2011


Hi,
I have made the following changes to kernel in project devel:kernel. Please review and accept ASAP.

Thank You,
New Fang

[This message was auto-generated]

---

Request #14584:

  submit:   home:nfang:branches:devel:kernel/kernel(r2)(cleanup) -> devel:kernel/kernel


Message:
    Add a patch to fix BMC #12562

State:   new          2011-03-07T23:16:01 nfang
Comment: None



changes files:
--------------
--- kernel.changes
+++ kernel.changes
@@ -0,0 +1,4 @@
+* Tue Mar 08 2011 - Fang Neo <neo.fang at intel.com> - 2.6.37.2
+- remove loop mutex to avoid deadlock during installation reboot.
+- Fix BMC #12562
+

new:
----
  linux-2.6.37-kill_loop_mutex.patch

spec files:
-----------
--- kernel.spec
+++ kernel.spec
@@ -211,11 +211,12 @@
 #
 # All other patches
 #
-
+# Patch to solve deadlock issue during installation reboot.
+Patch202: linux-2.6.37-kill_loop_mutex.patch
 
 # turn on "print fatal signals" by default, so that we can debug /sbin/init
 # crashes
-Patch202: linux-2.6.35-fatal-signals.patch
+Patch203: linux-2.6.35-fatal-signals.patch
 
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -381,12 +382,14 @@
 #
 # All other patches
 #
-
+# Patch to solve deadlock issue during installation reboot.
+# linux-2.6.37-kill_loop_mutex.patch
+%patch202 -p1
 
 # turn on "print fatal signals" by default, so that we can debug /sbin/init
 # crashes
 # linux-2.6.35-fatal-signals.patch
-%patch202 -p1
+%patch203 -p1
 
 # Drop some necessary files from the source dir into the buildroot
 cp $RPM_SOURCE_DIR/config-* .

other changes:
--------------

++++++ linux-2.6.37-kill_loop_mutex.patch (new)
--- linux-2.6.37-kill_loop_mutex.patch
+++ linux-2.6.37-kill_loop_mutex.patch
+diff --git a/drivers/block/loop.c b/drivers/block/loop.c
+index 49e6a54..dbf31ec 100644
+--- a/drivers/block/loop.c
++++ b/drivers/block/loop.c
+@@ -78,7 +78,6 @@ 
+ 
+ #include <asm/uaccess.h>
+ 
+-static DEFINE_MUTEX(loop_mutex);
+ static LIST_HEAD(loop_devices);
+ static DEFINE_MUTEX(loop_devices_mutex);
+ 
+@@ -1501,11 +1500,9 @@  static int lo_open(struct block_device *bdev, fmode_t mode)
+ {
+ 	struct loop_device *lo = bdev->bd_disk->private_data;
+ 
+-	mutex_lock(&loop_mutex);
+ 	mutex_lock(&lo->lo_ctl_mutex);
+ 	lo->lo_refcnt++;
+ 	mutex_unlock(&lo->lo_ctl_mutex);
+-	mutex_unlock(&loop_mutex);
+ 
+ 	return 0;
+ }
+@@ -1515,7 +1512,6 @@  static int lo_release(struct gendisk *disk, fmode_t mode)
+ 	struct loop_device *lo = disk->private_data;
+ 	int err;
+ 
+-	mutex_lock(&loop_mutex);
+ 	mutex_lock(&lo->lo_ctl_mutex);
+ 
+ 	if (--lo->lo_refcnt)
+@@ -1540,7 +1536,6 @@  static int lo_release(struct gendisk *disk, fmode_t mode)
+ out:
+ 	mutex_unlock(&lo->lo_ctl_mutex);
+ out_unlocked:
+-	mutex_unlock(&loop_mutex);
+ 	return 0;
+ }
+

++++++ series
--- series
+++ series
@@ -61,7 +61,8 @@
 #
 # All other patches
 #
-
+# Patch to solve deadlock issue during installation reboot.
+linux-2.6.37-kill_loop_mutex.patch
 
 # turn on "print fatal signals" by default, so that we can debug /sbin/init
 # crashes




More information about the MeeGo-commits mailing list