[kernel] r11529 - in dists/etch/linux-2.6.24/debian: . patches/bugfix patches/series

Dann Frazier dannf at alioth.debian.org
Fri Jun 6 03:38:31 UTC 2008


Author: dannf
Date: Fri Jun  6 03:38:29 2008
New Revision: 11529

Log:
Fix issue with blkdev_issue_flush() not detecting/passing EOPNOTSUPP back,
(closes: #482943)

Added:
   dists/etch/linux-2.6.24/debian/patches/bugfix/block-fix-blkdev_issue_flush.patch
Modified:
   dists/etch/linux-2.6.24/debian/changelog
   dists/etch/linux-2.6.24/debian/patches/series/6~etchnhalf.3

Modified: dists/etch/linux-2.6.24/debian/changelog
==============================================================================
--- dists/etch/linux-2.6.24/debian/changelog	(original)
+++ dists/etch/linux-2.6.24/debian/changelog	Fri Jun  6 03:38:29 2008
@@ -6,8 +6,10 @@
     (SIT) code used for IPv6 over IPv4 tunnels (CVE-2008-2136)
   * Fix local ptrace denial of service for amd64 flavor kernels, see #480390.
     (CVE-2008-1615)
+  * Fix issue with blkdev_issue_flush() not detecting/passing EOPNOTSUPP back,
+    (closes: #482943)
 
- -- dann frazier <dannf at debian.org>  Tue, 03 Jun 2008 01:30:06 -0600
+ -- dann frazier <dannf at debian.org>  Wed, 04 Jun 2008 02:05:40 -0600
 
 linux-2.6.24 (2.6.24-6~etchnhalf.2) stable; urgency=low
 

Added: dists/etch/linux-2.6.24/debian/patches/bugfix/block-fix-blkdev_issue_flush.patch
==============================================================================
--- (empty file)
+++ dists/etch/linux-2.6.24/debian/patches/bugfix/block-fix-blkdev_issue_flush.patch	Fri Jun  6 03:38:29 2008
@@ -0,0 +1,42 @@
+commit cc66b4512cae8df4ed1635483210aabf7690ec27
+Author: Jens Axboe <jens.axboe at oracle.com>
+Date:   Tue Mar 4 11:47:46 2008 +0100
+
+    block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back
+    
+    This is important to eg dm, that tries to decide whether to stop using
+    barriers or not.
+    
+    Tested as working by Anders Henke <anders.henke at 1und1.de>
+    
+    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>
+
+Backported to Debian's 2.6.24 by dann frazier <dannf at debian.org>
+
+diff -urpN linux-source-2.6.24.orig/block/ll_rw_blk.c linux-source-2.6.24/block/ll_rw_blk.c
+--- linux-source-2.6.24.orig/block/ll_rw_blk.c	2008-01-24 15:58:37.000000000 -0700
++++ linux-source-2.6.24/block/ll_rw_blk.c	2008-06-04 02:03:55.000000000 -0600
+@@ -2667,8 +2667,11 @@ EXPORT_SYMBOL(blk_execute_rq);
+ 
+ static void bio_end_empty_barrier(struct bio *bio, int err)
+ {
+-	if (err)
++	if (err) {
++		if (err == -EOPNOTSUPP)
++			set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
+ 		clear_bit(BIO_UPTODATE, &bio->bi_flags);
++	}
+ 
+ 	complete(bio->bi_private);
+ }
+@@ -2717,7 +2720,9 @@ int blkdev_issue_flush(struct block_devi
+ 		*error_sector = bio->bi_sector;
+ 
+ 	ret = 0;
+-	if (!bio_flagged(bio, BIO_UPTODATE))
++	if (bio_flagged(bio, BIO_EOPNOTSUPP))
++		ret = -EOPNOTSUPP;
++	else if (!bio_flagged(bio, BIO_UPTODATE))
+ 		ret = -EIO;
+ 
+ 	bio_put(bio);

Modified: dists/etch/linux-2.6.24/debian/patches/series/6~etchnhalf.3
==============================================================================
--- dists/etch/linux-2.6.24/debian/patches/series/6~etchnhalf.3	(original)
+++ dists/etch/linux-2.6.24/debian/patches/series/6~etchnhalf.3	Fri Jun  6 03:38:29 2008
@@ -1,3 +1,4 @@
 + bugfix/vfs-fix-permission-checking-in-sys_utimensat.patch
 + bugfix/sit-missing-kfree_skb-on-pskb_may_pull.patch
 + bugfix/amd64-cs-corruption.patch
++ bugfix/block-fix-blkdev_issue_flush.patch



More information about the Kernel-svn-changes mailing list