packages: kernel/kernel-tuxonice.patch, kernel/kernel-tuxonice-headers.patc...

arekm arekm at pld-linux.org
Thu Mar 17 09:27:24 CET 2011


Author: arekm                        Date: Thu Mar 17 08:27:24 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- unofficial tuxonice

---- Files affected:
packages/kernel:
   kernel-tuxonice.patch (1.21 -> 1.22) , kernel-tuxonice-headers.patch (1.5 -> 1.6) , kernel.spec (1.892 -> 1.893) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-tuxonice.patch
diff -u packages/kernel/kernel-tuxonice.patch:1.21 packages/kernel/kernel-tuxonice.patch:1.22
--- packages/kernel/kernel-tuxonice.patch:1.21	Wed Feb 23 11:59:34 2011
+++ packages/kernel/kernel-tuxonice.patch	Thu Mar 17 09:27:18 2011
@@ -1,8 +1,14 @@
+commit feca5a6a2f9d46c5467dfb5925098d07ebf4bd35
+Author: Tino Keitel <tino.keitel at tikei.de>
+Date:   Mon Feb 21 22:15:36 2011 +0100
+
+    port TuxOnIce to 2.6.38-rc5
+
 diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index 01ece1b..5b09304 100644
+index 89835a4..4cc6e4f 100644
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -2572,6 +2572,9 @@ and is between 256 and 4096 characters. It is defined in the file
+@@ -2569,6 +2569,9 @@ and is between 256 and 4096 characters. It is defined in the file
  					HIGHMEM regardless of setting
  					of CONFIG_HIGHPTE.
  
@@ -1450,10 +1456,10 @@
 +   testing. His efforts have contributed as much to TuxOnIce as any of the
 +   names above.
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 7585e9d..c8560dd 100644
+index 5dd6c75..c95907d 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -5965,6 +5965,13 @@ S:	Maintained
+@@ -6194,6 +6194,13 @@ S:	Maintained
  F:	drivers/tc/
  F:	include/linux/tc.h
  
@@ -1468,10 +1474,10 @@
  M:	Dario Ballabio <ballabio_dario at emc.com>
  L:	linux-scsi at vger.kernel.org
 diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
-index a87ead0..b8ac86e 100644
+index 8dc41c0..53abd69 100644
 --- a/arch/powerpc/mm/pgtable_32.c
 +++ b/arch/powerpc/mm/pgtable_32.c
-@@ -423,6 +423,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable)
+@@ -424,6 +424,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable)
  
  	change_page_attr(page, numpages, enable ? PAGE_KERNEL : __pgprot(0));
  }
@@ -1480,10 +1486,10 @@
  
  static int fixmaps;
 diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
-index c495aa8..ab32b64 100644
+index fc7aae1..142c87c 100644
 --- a/arch/x86/kernel/reboot.c
 +++ b/arch/x86/kernel/reboot.c
-@@ -720,6 +720,7 @@ void machine_restart(char *cmd)
+@@ -721,6 +721,7 @@ void machine_restart(char *cmd)
  {
  	machine_ops.restart(cmd);
  }
@@ -1492,10 +1498,10 @@
  void machine_halt(void)
  {
 diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
-index 532e793..bad27ae 100644
+index d343b3c..4419760 100644
 --- a/arch/x86/mm/pageattr.c
 +++ b/arch/x86/mm/pageattr.c
-@@ -1354,6 +1354,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable)
+@@ -1357,6 +1357,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable)
  	 */
  	__flush_tlb_all();
  }
@@ -1503,7 +1509,7 @@
  
  #ifdef CONFIG_HIBERNATION
  
-@@ -1368,7 +1369,7 @@ bool kernel_page_present(struct page *page)
+@@ -1371,7 +1372,7 @@ bool kernel_page_present(struct page *page)
  	pte = lookup_address((unsigned long)page_address(page), &level);
  	return (pte_val(*pte) & _PAGE_PRESENT);
  }
@@ -1586,10 +1592,10 @@
  obj-$(CONFIG_BLK_DEV_BSG)	+= bsg.o
  obj-$(CONFIG_BLK_CGROUP)	+= blk-cgroup.o
 diff --git a/block/blk-core.c b/block/blk-core.c
-index 4ce953f..cfedf85 100644
+index 2f4002f..0924321 100644
 --- a/block/blk-core.c
 +++ b/block/blk-core.c
-@@ -37,6 +37,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(block_remap);
+@@ -37,6 +37,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(block_bio_remap);
  EXPORT_TRACEPOINT_SYMBOL_GPL(block_rq_remap);
  EXPORT_TRACEPOINT_SYMBOL_GPL(block_bio_complete);
  
@@ -1599,7 +1605,7 @@
  static int __make_request(struct request_queue *q, struct bio *bio);
  
  /*
-@@ -1614,6 +1617,9 @@ void submit_bio(int rw, struct bio *bio)
+@@ -1629,6 +1632,9 @@ void submit_bio(int rw, struct bio *bio)
  
  	bio->bi_rw |= rw;
  
@@ -1610,23 +1616,22 @@
  	 * If it's a regular read/write or a barrier with data attached,
  	 * go through the normal accounting stuff before submission.
 diff --git a/block/genhd.c b/block/genhd.c
-index 5fa2b44..8b895bb 100644
+index 6a5b772..40b9aac 100644
 --- a/block/genhd.c
 +++ b/block/genhd.c
-@@ -18,6 +18,8 @@
- #include <linux/buffer_head.h>
+@@ -19,6 +19,8 @@
  #include <linux/mutex.h>
  #include <linux/idr.h>
+ #include <linux/log2.h>
 +#include <linux/ctype.h>
 +#include <linux/fs_uuid.h>
  
  #include "blk.h"
  
-@@ -1291,3 +1293,84 @@ int invalidate_partition(struct gendisk *disk, int partno)
+@@ -1781,3 +1783,83 @@ static void disk_release_events(struct gendisk *disk)
+ 	WARN_ON_ONCE(disk->ev && disk->ev->block != 1);
+ 	kfree(disk->ev);
  }
- 
- EXPORT_SYMBOL(invalidate_partition);
-+
 +dev_t blk_lookup_fs_info(struct fs_info *seek)
 +{
 +	dev_t devt = MKDEV(0, 0);
@@ -1688,7 +1693,7 @@
 +				continue;
 +			}
 +
-+			if (blkdev_get(bdev, FMODE_READ))
++			if (blkdev_get(bdev, FMODE_READ, NULL))
 +				continue;
 +
 +			if (bdev_matches_key(bdev, key)) {
@@ -1709,7 +1714,7 @@
 +EXPORT_SYMBOL_GPL(next_bdev_of_type);
 diff --git a/block/uuid.c b/block/uuid.c
 new file mode 100644
-index 0000000..e3b17e1
+index 0000000..afbaee4
 --- /dev/null
 +++ b/block/uuid.c
 @@ -0,0 +1,496 @@
@@ -2011,7 +2016,7 @@
 +
 +	PRINTK("part_matches fs info considering %x.\n", part_devt(part));
 +
-+	if (blkdev_get(bdev, FMODE_READ)) {
++	if (blkdev_get(bdev, FMODE_READ, NULL)) {
 +		PRINTK("blkdev_get failed.\n");
 +		return 0;
 +	}
@@ -2210,10 +2215,10 @@
 +
 +__setup("uuid_debug", uuid_debug_setup);
 diff --git a/crypto/Kconfig b/crypto/Kconfig
-index e4bac29..2a9e285 100644
+index 4b7cb0e..2f5d51d 100644
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -828,6 +828,13 @@ config CRYPTO_LZO
+@@ -829,6 +829,13 @@ config CRYPTO_LZO
  	help
  	  This is the LZO algorithm.
  
@@ -2228,7 +2233,7 @@
  
  config CRYPTO_ANSI_CPRNG
 diff --git a/crypto/Makefile b/crypto/Makefile
-index 423b7de..3310ffa 100644
+index e9a399c..83dca73 100644
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
 @@ -78,6 +78,7 @@ obj-$(CONFIG_CRYPTO_DEFLATE) += deflate.o
@@ -2572,7 +2577,7 @@
 +MODULE_DESCRIPTION("LZF Compression Algorithm");
 +MODULE_AUTHOR("Marc Alexander Lehmann & Nigel Cunningham");
 diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
-index 71c5528..6d1da22 100644
+index 8ec406d..4ad7769 100644
 --- a/drivers/base/power/wakeup.c
 +++ b/drivers/base/power/wakeup.c
 @@ -23,6 +23,7 @@
@@ -2587,7 +2592,7 @@
  	*count = atomic_read(&event_count);
  	return ret;
  }
-+EXPORT_SYMBOL_GPL(pm_check_wakeup_events);
++//EXPORT_SYMBOL_GPL(pm_check_wakeup_events);
  
  /**
   * pm_save_wakeup_count - Save the current number of registered wakeup events.
@@ -2606,10 +2611,10 @@
  		return -ENOMEM;
  
 diff --git a/drivers/md/md.c b/drivers/md/md.c
-index 175c424..4946d6a 100644
+index 0cc30ec..1a39d44 100644
 --- a/drivers/md/md.c
 +++ b/drivers/md/md.c
-@@ -6699,6 +6699,9 @@ void md_do_sync(mddev_t *mddev)
+@@ -6730,6 +6730,9 @@ void md_do_sync(mddev_t *mddev)
  		mddev->curr_resync = 2;
  
  	try_again:
@@ -2619,7 +2624,7 @@
  		if (kthread_should_stop())
  			set_bit(MD_RECOVERY_INTR, &mddev->recovery);
  
-@@ -6721,6 +6724,10 @@ void md_do_sync(mddev_t *mddev)
+@@ -6752,6 +6755,10 @@ void md_do_sync(mddev_t *mddev)
  					 * time 'round when curr_resync == 2
  					 */
  					continue;
@@ -2630,7 +2635,7 @@
  				/* We need to wait 'interruptible' so as not to
  				 * contribute to the load average, and not to
  				 * be caught by 'softlockup'
-@@ -6733,6 +6740,7 @@ void md_do_sync(mddev_t *mddev)
+@@ -6764,6 +6771,7 @@ void md_do_sync(mddev_t *mddev)
  					       " share one or more physical units)\n",
  					       desc, mdname(mddev), mdname(mddev2));
  					mddev_put(mddev2);
@@ -2638,7 +2643,7 @@
  					if (signal_pending(current))
  						flush_signals(current);
  					schedule();
-@@ -6842,6 +6850,9 @@ void md_do_sync(mddev_t *mddev)
+@@ -6872,6 +6880,9 @@ void md_do_sync(mddev_t *mddev)
  						 || kthread_should_stop());
  		}
  
@@ -2648,7 +2653,7 @@
  		if (kthread_should_stop())
  			goto interrupted;
  
-@@ -6886,6 +6897,9 @@ void md_do_sync(mddev_t *mddev)
+@@ -6916,6 +6927,9 @@ void md_do_sync(mddev_t *mddev)
  			last_mark = next;
  		}
  
@@ -2658,20 +2663,23 @@
  
  		if (kthread_should_stop())
  			goto interrupted;
-@@ -7057,6 +7071,8 @@ void md_check_recovery(mddev_t *mddev)
+@@ -7121,6 +7135,11 @@ static void reap_sync_thread(mddev_t *mddev)
+  */
+ void md_check_recovery(mddev_t *mddev)
  {
- 	mdk_rdev_t *rdev;
- 
++	mdk_rdev_t *rdev;
++
 +	if (unlikely(freezer_is_on()))
 +		return;
- 
++
  	if (mddev->bitmap)
  		bitmap_daemon_work(mddev);
+ 
 diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
-index a8ec48e..c5504ab 100644
+index 147ede3..c454da5 100644
 --- a/drivers/tty/vt/vt.c
 +++ b/drivers/tty/vt/vt.c
-@@ -2473,6 +2473,7 @@ int vt_kmsg_redirect(int new)
+@@ -2483,6 +2483,7 @@ int vt_kmsg_redirect(int new)
  	else
  		return kmsg_con;
  }
@@ -2680,7 +2688,7 @@
  /*
   *	Console on virtual terminal
 diff --git a/fs/block_dev.c b/fs/block_dev.c
-index 4230252..7b04374 100644
+index 333a7bb..f733c67 100644
 --- a/fs/block_dev.c
 +++ b/fs/block_dev.c
 @@ -308,6 +308,93 @@ out:
@@ -2816,7 +2824,7 @@
  	.kill_sb	= fuse_ctl_kill_sb,
  };
 diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
-index 6e07696..5443293 100644
+index cf8d28d..aedba85 100644
 --- a/fs/fuse/dev.c
 +++ b/fs/fuse/dev.c
 @@ -7,6 +7,7 @@
@@ -2835,7 +2843,7 @@
  #include <linux/pipe_fs_i.h>
  #include <linux/swap.h>
  #include <linux/splice.h>
-@@ -977,6 +979,8 @@ static ssize_t fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
+@@ -1105,6 +1107,8 @@ static ssize_t fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
  	struct fuse_in *in;
  	unsigned reqsize;
  
@@ -2844,7 +2852,7 @@
   restart:
  	spin_lock(&fc->lock);
  	err = -EAGAIN;
-@@ -1605,6 +1609,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
+@@ -1741,6 +1745,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
  	if (!fc)
  		return -EPERM;
  
@@ -2855,7 +2863,7 @@
  
  	return fuse_dev_do_write(fc, &cs, iov_length(iov, nr_segs));
 diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
-index c9627c9..a554506 100644
+index bfed844..bdcc380 100644
 --- a/fs/fuse/dir.c
 +++ b/fs/fuse/dir.c
 @@ -7,12 +7,14 @@
@@ -2866,14 +2874,14 @@
  
  #include <linux/pagemap.h>
  #include <linux/file.h>
- #include <linux/gfp.h>
  #include <linux/sched.h>
  #include <linux/namei.h>
+ #include <linux/slab.h>
 +#include <linux/freezer.h>
  
  #if BITS_PER_LONG >= 64
  static inline void fuse_dentry_settime(struct dentry *entry, u64 time)
-@@ -174,6 +176,9 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
+@@ -178,6 +180,9 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
  			return 0;
  
  		fc = get_fuse_conn(inode);
@@ -2883,7 +2891,7 @@
  		req = fuse_get_req(fc);
  		if (IS_ERR(req))
  			return 0;
-@@ -268,6 +273,8 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, struct qstr *name,
+@@ -271,6 +276,8 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, struct qstr *name,
  	if (name->len > FUSE_NAME_MAX)
  		goto out;
  
@@ -2892,7 +2900,7 @@
  	req = fuse_get_req(fc);
  	err = PTR_ERR(req);
  	if (IS_ERR(req))
-@@ -331,6 +338,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
+@@ -334,6 +341,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
  	if (err)
  		goto out_err;
  
@@ -2901,25 +2909,25 @@
  	err = -EIO;
  	if (inode && get_node_id(inode) == FUSE_ROOT_ID)
  		goto out_iput;
-@@ -392,6 +401,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode,
- 	if (IS_ERR(forget_req))
- 		return PTR_ERR(forget_req);
+@@ -394,6 +403,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode,
+ 	if (!forget)
+ 		return -ENOMEM;
  
 +	FUSE_MIGHT_FREEZE(dir->i_sb, "fuse_create_open");
 +
  	req = fuse_get_req(fc);
  	err = PTR_ERR(req);
  	if (IS_ERR(req))
-@@ -485,6 +496,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req,
+@@ -487,6 +498,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req,
  	int err;
- 	struct fuse_req *forget_req;
+ 	struct fuse_forget_link *forget;
  
 +	FUSE_MIGHT_FREEZE(dir->i_sb, "create_new_entry");
 +
- 	forget_req = fuse_get_req(fc);
- 	if (IS_ERR(forget_req)) {
+ 	forget = fuse_alloc_forget();
+ 	if (!forget) {
  		fuse_put_request(fc, req);
-@@ -587,7 +600,11 @@ static int fuse_mkdir(struct inode *dir, struct dentry *entry, int mode)
+@@ -589,7 +602,11 @@ static int fuse_mkdir(struct inode *dir, struct dentry *entry, int mode)
  {
  	struct fuse_mkdir_in inarg;
  	struct fuse_conn *fc = get_fuse_conn(dir);
@@ -2932,7 +2940,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -611,7 +628,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry,
+@@ -613,7 +630,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry,
  {
  	struct fuse_conn *fc = get_fuse_conn(dir);
  	unsigned len = strlen(link) + 1;
@@ -2945,7 +2953,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -628,7 +649,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
+@@ -630,7 +651,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
  {
  	int err;
  	struct fuse_conn *fc = get_fuse_conn(dir);
@@ -2958,7 +2966,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -661,7 +686,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
+@@ -663,7 +688,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
  {
  	int err;
  	struct fuse_conn *fc = get_fuse_conn(dir);
@@ -2972,7 +2980,7 @@
  		return PTR_ERR(req);
  
 diff --git a/fs/fuse/file.c b/fs/fuse/file.c
-index 8b984a2..c91fd60 100644
+index 95da1bc..0b5fa1a 100644
 --- a/fs/fuse/file.c
 +++ b/fs/fuse/file.c
 @@ -7,11 +7,13 @@
@@ -3118,10 +3126,10 @@
 +	} \
 +} while (0)
 diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
-index cfce3ad..15bc01d 100644
+index 9e3f68c..39d357d 100644
 --- a/fs/fuse/inode.c
 +++ b/fs/fuse/inode.c
-@@ -1064,7 +1064,7 @@ static void fuse_kill_sb_anon(struct super_block *sb)
+@@ -1061,7 +1061,7 @@ static void fuse_kill_sb_anon(struct super_block *sb)
  static struct file_system_type fuse_fs_type = {
  	.owner		= THIS_MODULE,
  	.name		= "fuse",
@@ -3130,7 +3138,7 @@
  	.mount		= fuse_mount,
  	.kill_sb	= fuse_kill_sb_anon,
  };
-@@ -1095,7 +1095,7 @@ static struct file_system_type fuseblk_fs_type = {
+@@ -1092,7 +1092,7 @@ static struct file_system_type fuseblk_fs_type = {
  	.name		= "fuseblk",
  	.mount		= fuse_mount_blk,
  	.kill_sb	= fuse_kill_sb_blk,
@@ -3140,10 +3148,10 @@
  
  static inline int register_fuseblk(void)
 diff --git a/fs/namei.c b/fs/namei.c
-index 4ff7ca5..e74eb69 100644
+index 9e701e2..e0f5751 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -2235,6 +2235,8 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry)
+@@ -2917,6 +2917,8 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry)
  	if (!dir->i_op->unlink)
  		return -EPERM;
  
@@ -3153,10 +3161,10 @@
  	if (d_mountpoint(dentry))
  		error = -EBUSY;
 diff --git a/fs/super.c b/fs/super.c
-index ca69615..528feab 100644
+index 7e9dd4c..84010bb 100644
 --- a/fs/super.c
 +++ b/fs/super.c
-@@ -34,6 +34,8 @@
+@@ -35,6 +35,8 @@
  
  
  LIST_HEAD(super_blocks);
@@ -3231,7 +3239,7 @@
  static inline void freezer_do_not_count(void) {}
  static inline void freezer_count(void) {}
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 090f0ea..8bcef8b 100644
+index bd32159..2e99580 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
 @@ -181,6 +181,7 @@ struct inodes_stat_t {
@@ -3250,24 +3258,24 @@
  #define MS_BORN		(1<<29)
  #define MS_ACTIVE	(1<<30)
  #define MS_NOUSER	(1<<31)
-@@ -242,6 +244,8 @@ struct inodes_stat_t {
- #define S_SWAPFILE	256	/* Do not truncate: swapon got its bmaps */
+@@ -243,6 +245,8 @@ struct inodes_stat_t {
  #define S_PRIVATE	512	/* Inode is fs-internal */
  #define S_IMA		1024	/* Inode has an associated IMA struct */
-+#define S_ATOMIC_COPY	2048	/* Pages mapped with this inode need to be
+ #define S_AUTOMOUNT	2048	/* Automount/referral quasi-directory */
++#define S_ATOMIC_COPY	4096	/* Pages mapped with this inode need to be
 +				   atomically copied (gem) */
  
  /*
   * Note that nosuid etc flags are inode-specific: setting some file-system
-@@ -392,6 +396,7 @@ struct inodes_stat_t {
+@@ -393,6 +397,7 @@ struct inodes_stat_t {
  #include <linux/capability.h>
  #include <linux/semaphore.h>
  #include <linux/fiemap.h>
 +#include <linux/freezer.h>
+ #include <linux/rculist_bl.h>
  
  #include <asm/atomic.h>
- #include <asm/byteorder.h>
-@@ -1430,8 +1435,11 @@ enum {
+@@ -1439,8 +1444,11 @@ enum {
  	SB_FREEZE_TRANS = 2,
  };
  
@@ -3281,7 +3289,7 @@
  
  #define get_fs_excl() atomic_inc(&current->fs_excl)
  #define put_fs_excl() atomic_dec(&current->fs_excl)
-@@ -2013,6 +2021,13 @@ extern struct super_block *freeze_bdev(struct block_device *);
+@@ -2027,6 +2035,13 @@ extern struct super_block *freeze_bdev(struct block_device *);
  extern void emergency_thaw_all(void);
  extern int thaw_bdev(struct block_device *bdev, struct super_block *sb);
  extern int fsync_bdev(struct block_device *);
@@ -3321,18 +3329,33 @@
 +struct block_device *next_bdev_of_type(struct block_device *last,
 +	const char *key);
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 721f451..4cb07f0 100644
+index f6385fc..fd0f8a5 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
-@@ -102,6 +102,7 @@ extern unsigned int kobjsize(const void *objp);
- #define VM_HUGETLB	0x00400000	/* Huge TLB Page VM */
- #define VM_NONLINEAR	0x00800000	/* Is non-linear (remap_file_pages) */
- #define VM_MAPPED_COPY	0x01000000	/* T if mapped copy of data (nommu mmap) */
-+#define VM_ATOMIC_COPY	0x01000000	/* TOI should do atomic copy (mmu) */
- #define VM_INSERTPAGE	0x02000000	/* The vma has had "vm_insert_page()" done on it */
- #define VM_ALWAYSDUMP	0x04000000	/* Always include in core dumps */
- 
-@@ -1466,6 +1467,7 @@ int drop_caches_sysctl_handler(struct ctl_table *, int,
+@@ -108,14 +108,15 @@ extern unsigned int kobjsize(const void *objp);
+ #else
+ #define VM_HUGEPAGE	0x01000000	/* MADV_HUGEPAGE marked this vma */
+ #endif
+-#define VM_INSERTPAGE	0x02000000	/* The vma has had "vm_insert_page()" done on it */
+-#define VM_ALWAYSDUMP	0x04000000	/* Always include in core dumps */
++#define VM_ATOMIC_COPY	0x02000000	/* TOI should do atomic copy (mmu) */
++#define VM_INSERTPAGE	0x04000000	/* The vma has had "vm_insert_page()" done on it */
++#define VM_ALWAYSDUMP	0x08000000	/* Always include in core dumps */
+ 
+-#define VM_CAN_NONLINEAR 0x08000000	/* Has ->fault & does nonlinear pages */
+-#define VM_MIXEDMAP	0x10000000	/* Can contain "struct page" and pure PFN pages */
+-#define VM_SAO		0x20000000	/* Strong Access Ordering (powerpc) */
+-#define VM_PFN_AT_MMAP	0x40000000	/* PFNMAP vma that is fully mapped at mmap time */
+-#define VM_MERGEABLE	0x80000000	/* KSM may merge identical pages */
++#define VM_CAN_NONLINEAR 0x10000000	/* Has ->fault & does nonlinear pages */
++#define VM_MIXEDMAP	0x20000000	/* Can contain "struct page" and pure PFN pages */
++#define VM_SAO		0x40000000	/* Strong Access Ordering (powerpc) */
++#define VM_PFN_AT_MMAP	0x80000000	/* PFNMAP vma that is fully mapped at mmap time */
++#define VM_MERGEABLE	0x100000000	/* KSM may merge identical pages */
+ 
+ /* Bits set in the VMA until the stack is in its final location */
+ #define VM_STACK_INCOMPLETE_SETUP	(VM_RAND_READ | VM_SEQ_READ)
+@@ -1581,6 +1582,7 @@ int drop_caches_sysctl_handler(struct ctl_table *, int,
  					void __user *, size_t *, loff_t *);
  unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask,
  			unsigned long lru_pages);
@@ -3354,10 +3377,10 @@
  #define MAX_LINKS 32		
  
 diff --git a/include/linux/suspend.h b/include/linux/suspend.h
-index 2669751..fe9644d 100644
+index 5a89e36..63c9fe8 100644
 --- a/include/linux/suspend.h
 +++ b/include/linux/suspend.h
-@@ -340,4 +340,70 @@ static inline void unlock_system_sleep(void)
+@@ -323,4 +323,70 @@ static inline void unlock_system_sleep(void)
  }
  #endif
  
@@ -3429,7 +3452,7 @@
 +#endif
  #endif /* _LINUX_SUSPEND_H */
 diff --git a/include/linux/swap.h b/include/linux/swap.h
-index eba53e7..31bdf80 100644
+index 4d55932..f4296f1 100644
 --- a/include/linux/swap.h
 +++ b/include/linux/swap.h
 @@ -199,6 +199,7 @@ struct swap_list_t {
@@ -3440,7 +3463,7 @@
  extern unsigned int nr_free_pagecache_pages(void);
  
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-tuxonice.patch?r1=1.21&r2=1.22&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-tuxonice-headers.patch?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.892&r2=1.893&f=u



More information about the pld-cvs-commit mailing list