rpms/kernel/devel TODO,1.13,1.14 xfs-barrier-fix.patch,1.1,1.2
Chuck Ebbert
cebbert at fedoraproject.org
Fri Oct 10 18:27:37 UTC 2008
- Previous message: rpms/xorg-x11-server/devel xorg-x11-server.spec,1.363,1.364
- Next message: rpms/gnome-media/devel gnome-media.spec, 1.142, 1.143 gnome-volume-control-add-front-track.patch, 1.1, NONE gnome-volume-control-gconf-fixes.patch, 1.1, NONE icon-names.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29561
Modified Files:
TODO xfs-barrier-fix.patch
Log Message:
XFS barrier patch merged upstream
Index: TODO
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/TODO,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- TODO 10 Oct 2008 01:05:41 -0000 1.13
+++ TODO 10 Oct 2008 18:27:07 -0000 1.14
@@ -155,3 +155,6 @@
linux-2.6-x86-improve-up-kernel-when-cpu-hotplug-and-smp.patch
scheduled for 2.6.28, should go in 2.6.27-stable after merging
+
+xfs-barrier-fix.patch
+ in 2.6.28-rc, should be sent for -stable
xfs-barrier-fix.patch:
Index: xfs-barrier-fix.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/xfs-barrier-fix.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- xfs-barrier-fix.patch 9 Oct 2008 15:44:21 -0000 1.1
+++ xfs-barrier-fix.patch 10 Oct 2008 18:27:07 -0000 1.2
@@ -1,3 +1,10 @@
+From: Christoph Hellwig <hch at lst.de>
+Date: Fri, 10 Oct 2008 06:28:29 +0000 (+1100)
+Subject: Fix barrier fail detection in XFS
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=73f6aa4d44ab6157badc456ddfa05b31e58de5f0
+
+Fix barrier fail detection in XFS
+
Currently we disable barriers as soon as we get a buffer in xlog_iodone
that has the XBF_ORDERED flag cleared. But this can be the case not only
for buffers where the barrier failed, but also the first buffer of a
@@ -12,14 +19,25 @@
Thanks to Toei Rei for reporting the bug.
-
Signed-off-by: Christoph Hellwig <hch at lst.de>
-
-Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c
-===================================================================
---- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-10-09 13:36:50.000000000 +0200
-+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c 2008-10-09 13:38:38.000000000 +0200
-@@ -1007,6 +1007,7 @@ xfs_buf_iodone_work(
+Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
+Reviewed-by: David Chinner <david at fromorbit.com>
+Signed-off-by: Tim Shimmin <tes at sgi.com>
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+---
+
+diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c
+index 986061a..36d5fcd 100644
+--- a/fs/xfs/linux-2.6/xfs_buf.c
++++ b/fs/xfs/linux-2.6/xfs_buf.c
+@@ -1001,12 +1001,13 @@ xfs_buf_iodone_work(
+ * We can get an EOPNOTSUPP to ordered writes. Here we clear the
+ * ordered flag and reissue them. Because we can't tell the higher
+ * layers directly that they should not issue ordered I/O anymore, they
+- * need to check if the ordered flag was cleared during I/O completion.
++ * need to check if the _XFS_BARRIER_FAILED flag was set during I/O completion.
+ */
+ if ((bp->b_error == EOPNOTSUPP) &&
(bp->b_flags & (XBF_ORDERED|XBF_ASYNC)) == (XBF_ORDERED|XBF_ASYNC)) {
XB_TRACE(bp, "ordered_retry", bp->b_iodone);
bp->b_flags &= ~XBF_ORDERED;
@@ -27,10 +45,10 @@
xfs_buf_iorequest(bp);
} else if (bp->b_iodone)
(*(bp->b_iodone))(bp);
-Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h
-===================================================================
---- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.h 2008-10-09 13:36:50.000000000 +0200
-+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h 2008-10-09 13:38:15.000000000 +0200
+diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h
+index fe01099..456519a 100644
+--- a/fs/xfs/linux-2.6/xfs_buf.h
++++ b/fs/xfs/linux-2.6/xfs_buf.h
@@ -85,6 +85,14 @@ typedef enum {
* modifications being lost.
*/
@@ -46,12 +64,18 @@
} xfs_buf_flags_t;
typedef enum {
-Index: linux-2.6-xfs/fs/xfs/xfs_log.c
-===================================================================
---- linux-2.6-xfs.orig/fs/xfs/xfs_log.c 2008-10-09 13:38:44.000000000 +0200
-+++ linux-2.6-xfs/fs/xfs/xfs_log.c 2008-10-09 13:39:32.000000000 +0200
-@@ -1037,7 +1037,8 @@ xlog_iodone(xfs_buf_t *bp)
- * layer, it means the underlyin device no longer supports
+diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
+index 503ea89..0b02c64 100644
+--- a/fs/xfs/xfs_log.c
++++ b/fs/xfs/xfs_log.c
+@@ -1033,11 +1033,12 @@ xlog_iodone(xfs_buf_t *bp)
+ l = iclog->ic_log;
+
+ /*
+- * If the ordered flag has been removed by a lower
+- * layer, it means the underlyin device no longer supports
++ * If the _XFS_BARRIER_FAILED flag was set by a lower
++ * layer, it means the underlying device no longer supports
* barrier I/O. Warn loudly and turn off barriers.
*/
- if ((l->l_mp->m_flags & XFS_MOUNT_BARRIER) && !XFS_BUF_ISORDERED(bp)) {
@@ -60,6 +84,3 @@
l->l_mp->m_flags &= ~XFS_MOUNT_BARRIER;
xfs_fs_cmn_err(CE_WARN, l->l_mp,
"xlog_iodone: Barriers are no longer supported"
-
-
-
- Previous message: rpms/xorg-x11-server/devel xorg-x11-server.spec,1.363,1.364
- Next message: rpms/gnome-media/devel gnome-media.spec, 1.142, 1.143 gnome-volume-control-add-front-track.patch, 1.1, NONE gnome-volume-control-gconf-fixes.patch, 1.1, NONE icon-names.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list