]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- up to 3.7.5; add xfs too rarely flushing data to disk auto/th/kernel-3.7.5-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 28 Jan 2013 11:19:09 +0000 (12:19 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 28 Jan 2013 11:19:09 +0000 (12:19 +0100)
kernel-small_fixes.patch
kernel.spec

index 324fe593ad63f532382c1a539a87cfec05a4faab..7a29e8dc36d4eac0ef4402c7c3b7c7de32dafe44 100644 (file)
@@ -665,3 +665,41 @@ index 205af8d..22436f7 100644
 -- 
 1.7.6.5
 
+From: Dave Chinner <dchinner@redhat.com>
+
+There is a logic inversion in xfssyncd_worker() which means that the
+log is not periodically forced or idled correctly. This means that
+metadata changes aggregated in memory do not get flushed in a timely
+manner, and hence if filesystem is not cleanly unmounted those
+changes can be lost. This loss can manifest itself even hours after
+the changes were made if the filesystem is left to idle without a
+sync() occurring between the last modification and the
+crash/shutdown occuring.
+
+cc: <stable@vger.kerel.org> # 3.7, 3.6, 3.5
+Signed-off-by: Dave Chinner <dchinner@redhat.com>
+Reviewed-by: Ben Myers <bpm@sgi.com>
+Signed-off-by: Ben Myers <bpm@sgi.com>
+
+---
+ fs/xfs/xfs_sync.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+If people agree the fix is correct, I'll post it to the -stable
+list for inclusion...
+
+diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c
+index 9500caf..7bf85e8 100644
+--- a/fs/xfs/xfs_sync.c
++++ b/fs/xfs/xfs_sync.c
+@@ -400,7 +400,7 @@ xfs_sync_worker(
+        * cancel_delayed_work_sync on this work queue before tearing down
+        * the ail and the log in xfs_log_unmount.
+        */
+-      if (!(mp->m_super->s_flags & MS_ACTIVE) &&
++      if ((mp->m_super->s_flags & MS_ACTIVE) &&
+           !(mp->m_flags & XFS_MOUNT_RDONLY)) {
+               /* dgc: errors ignored here */
+               if (mp->m_super->s_writers.frozen == SB_UNFROZEN &&
+
+
index 03f0a662e95373a071a222143f52382a0844f8ea..8d487ff24030eae5a6b9579be9017d7ddea43783 100644 (file)
@@ -68,7 +68,7 @@
 
 %define                rel             1
 %define                basever         3.7
-%define                postver         .4
+%define                postver         .5
 
 # __alt_kernel is list of features, empty string if none set
 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
@@ -111,7 +111,7 @@ Source0:    http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
 # Source0-md5: 21223369d682bcf44bcdfe1521095983
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5:  1c6f962e3c9fc37cdb59c4757d28ab9a
+# Patch0-md5:  0bb3a5b1c5ee7ae694e3db58b2b69a8d
 %endif
 
 Source3:       kernel-autoconf.h
This page took 1.064294 seconds and 4 git commands to generate.