rpms/kernel/F-13 fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch, 1.1, 1.2

Kyle McMartin kyle at fedoraproject.org
Sun May 9 19:49:33 UTC 2010


Author: kyle

Update of /cvs/pkgs/rpms/kernel/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv4270

Modified Files:
	fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch 
Log Message:
use the correct patch..

fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch:
 fs/fs-writeback.c           |   48 +++++++++++++++++++++++++++++++++-----------
 fs/sync.c                   |    3 +-
 include/linux/backing-dev.h |    2 -
 include/linux/writeback.h   |   10 +++++++++
 mm/page-writeback.c         |    2 -
 5 files changed, 51 insertions(+), 14 deletions(-)

Index: fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-13/fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch	9 May 2010 18:43:23 -0000	1.1
+++ fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch	9 May 2010 19:49:33 -0000	1.2
@@ -1,8 +1,8 @@
 diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
-index 4b37f7c..c9ac9cb 100644
+index 1a7c42c..92c6708 100644
 --- a/fs/fs-writeback.c
 +++ b/fs/fs-writeback.c
-@@ -45,6 +45,7 @@ struct wb_writeback_args {
+@@ -44,6 +44,7 @@ struct wb_writeback_args {
  	int for_kupdate:1;
  	int range_cyclic:1;
  	int for_background:1;
@@ -10,7 +10,7 @@ index 4b37f7c..c9ac9cb 100644
  };
  
  /*
-@@ -230,6 +231,11 @@ static void bdi_sync_writeback(struct backing_dev_info *bdi,
+@@ -229,6 +230,11 @@ static void bdi_sync_writeback(struct backing_dev_info *bdi,
  		.sync_mode	= WB_SYNC_ALL,
  		.nr_pages	= LONG_MAX,
  		.range_cyclic	= 0,
@@ -22,7 +22,7 @@ index 4b37f7c..c9ac9cb 100644
  	};
  	struct bdi_work work;
  
-@@ -245,21 +251,23 @@ static void bdi_sync_writeback(struct backing_dev_info *bdi,
+@@ -244,21 +250,23 @@ static void bdi_sync_writeback(struct backing_dev_info *bdi,
   * @bdi: the backing device to write from
   * @sb: write inodes from this super_block
   * @nr_pages: the number of pages to write
@@ -48,16 +48,16 @@ index 4b37f7c..c9ac9cb 100644
  	};
  
  	/*
-@@ -577,7 +585,7 @@ static enum sb_pin_state pin_sb_for_writeback(struct writeback_control *wbc,
+@@ -585,7 +593,7 @@ static int pin_sb_for_writeback(struct writeback_control *wbc,
  	/*
  	 * Caller must already hold the ref for this
  	 */
 -	if (wbc->sync_mode == WB_SYNC_ALL) {
 +	if (wbc->sync_mode == WB_SYNC_ALL || wbc->sb_pinned) {
  		WARN_ON(!rwsem_is_locked(&sb->s_umount));
- 		return SB_NOT_PINNED;
+ 		return 0;
  	}
-@@ -751,6 +759,7 @@ static long wb_writeback(struct bdi_writeback *wb,
+@@ -733,6 +741,7 @@ static long wb_writeback(struct bdi_writeback *wb,
  		.for_kupdate		= args->for_kupdate,
  		.for_background		= args->for_background,
  		.range_cyclic		= args->range_cyclic,
@@ -65,7 +65,7 @@ index 4b37f7c..c9ac9cb 100644
  	};
  	unsigned long oldest_jif;
  	long wrote = 0;
-@@ -1183,6 +1192,18 @@ static void wait_sb_inodes(struct super_block *sb)
+@@ -1165,6 +1174,18 @@ static void wait_sb_inodes(struct super_block *sb)
  	iput(old_inode);
  }
  
@@ -84,7 +84,7 @@ index 4b37f7c..c9ac9cb 100644
  /**
   * writeback_inodes_sb	-	writeback dirty inodes from given super_block
   * @sb: the superblock
-@@ -1194,18 +1215,23 @@ static void wait_sb_inodes(struct super_block *sb)
+@@ -1176,18 +1197,23 @@ static void wait_sb_inodes(struct super_block *sb)
   */
  void writeback_inodes_sb(struct super_block *sb)
  {
@@ -117,25 +117,30 @@ index 4b37f7c..c9ac9cb 100644
   * @sb: the superblock
   *
 diff --git a/fs/sync.c b/fs/sync.c
-index 92b2281..de6a441 100644
+index 418727a..234bcff 100644
 --- a/fs/sync.c
 +++ b/fs/sync.c
-@@ -42,7 +42,7 @@ static int __sync_filesystem(struct super_block *sb, int wait)
- 	if (wait)
- 		sync_inodes_sb(sb);
- 	else
+@@ -37,11 +37,12 @@ static int __sync_filesystem(struct super_block *sb, int wait)
+ 	/* Avoid doing twice syncing and cache pruning for quota sync */
+ 	if (!wait) {
+ 		writeout_quota_sb(sb, -1);
 -		writeback_inodes_sb(sb);
 +		writeback_inodes_sb_locked(sb);
- 
+ 	} else {
+ 		sync_quota_sb(sb, -1);
+ 		sync_inodes_sb(sb);
+ 	}
++
  	if (sb->s_op->sync_fs)
  		sb->s_op->sync_fs(sb, wait);
+ 	return __sync_blockdev(sb->s_bdev, wait);
 diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
-index bd0e3c6..90e677a 100644
+index fcbc26a..a249798 100644
 --- a/include/linux/backing-dev.h
 +++ b/include/linux/backing-dev.h
-@@ -103,7 +103,7 @@ int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
+@@ -102,7 +102,7 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent,
+ int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
  void bdi_unregister(struct backing_dev_info *bdi);
- int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int);
  void bdi_start_writeback(struct backing_dev_info *bdi, struct super_block *sb,
 -				long nr_pages);
 +				long nr_pages, int sb_locked);
@@ -143,10 +148,10 @@ index bd0e3c6..90e677a 100644
  int bdi_has_dirty_io(struct backing_dev_info *bdi);
  
 diff --git a/include/linux/writeback.h b/include/linux/writeback.h
-index 36520de..3790165 100644
+index 76e8903..05e64d2 100644
 --- a/include/linux/writeback.h
 +++ b/include/linux/writeback.h
-@@ -65,6 +65,15 @@ struct writeback_control {
+@@ -62,6 +62,15 @@ struct writeback_control {
  	 * so we use a single control to update them
  	 */
  	unsigned no_nrwrite_index_update:1;
@@ -162,7 +167,7 @@ index 36520de..3790165 100644
  };
  
  /*
-@@ -73,6 +82,7 @@ struct writeback_control {
+@@ -70,6 +79,7 @@ struct writeback_control {
  struct bdi_writeback;
  int inode_wait(void *);
  void writeback_inodes_sb(struct super_block *);



More information about the scm-commits mailing list