SOURCES (LINUX_2_6): linux-2.6-suspend2.patch - up to TuxOnIce 3.0...

arekm arekm at pld-linux.org
Sun Jan 20 11:44:44 CET 2008


Author: arekm                        Date: Sun Jan 20 10:44:44 2008 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- up to TuxOnIce 3.0-rc4 for kernel 2.6.24-rc8

---- Files affected:
SOURCES:
   linux-2.6-suspend2.patch (1.1.2.2.2.4 -> 1.1.2.2.2.5) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-suspend2.patch
diff -u SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.4 SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.5
--- SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.4	Fri Oct 12 15:15:21 2007
+++ SOURCES/linux-2.6-suspend2.patch	Sun Jan 20 11:44:39 2008
@@ -475,7 +475,7 @@
 +
 diff --git a/Documentation/power/tuxonice.txt b/Documentation/power/tuxonice.txt
 new file mode 100644
-index 0000000..b97fe92
+index 0000000..aa2a486
 --- /dev/null
 +++ b/Documentation/power/tuxonice.txt
 @@ -0,0 +1,709 @@
@@ -715,7 +715,7 @@
 +
 +   A suspend cycle can be started directly by doing:
 +
-+	echo > /sys/power/tuxonice/do_resume
++	echo > /sys/power/tuxonice/do_hibernate
 +
 +   In practice, though, you'll probably want to use the hibernate script
 +   to unload modules, configure the kernel the way you like it and so on.
@@ -1189,10 +1189,10 @@
 +   testing. His efforts have contributed as much to TuxOnIce as any of the
 +   names above.
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 9a91d9e..f646849 100644
+index 2340cfb..3472ff1 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3721,6 +3721,13 @@ P:	Maciej W. Rozycki
+@@ -3793,6 +3793,13 @@ P:	Maciej W. Rozycki
  M:	macro at linux-mips.org
  S:	Maintained
  
@@ -1206,28 +1206,28 @@
  U14-34F SCSI DRIVER
  P:	Dario Ballabio
  M:	ballabio_dario at emc.com
-diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c
-index fcb38e7..44cc8c3 100644
---- a/arch/i386/mm/fault.c
-+++ b/arch/i386/mm/fault.c
+diff --git a/arch/x86/mm/fault_32.c b/arch/x86/mm/fault_32.c
+index a2273d4..fa69b1d 100644
+--- a/arch/x86/mm/fault_32.c
++++ b/arch/x86/mm/fault_32.c
 @@ -25,6 +25,7 @@
  #include <linux/kprobes.h>
  #include <linux/uaccess.h>
  #include <linux/kdebug.h>
 +#include <linux/suspend.h>
+ #include <linux/kprobes.h>
  
  #include <asm/system.h>
- #include <asm/desc.h>
-@@ -34,6 +35,9 @@ extern void die(const char *,struct pt_regs *,long);
+@@ -33,6 +34,9 @@
  
- static ATOMIC_NOTIFIER_HEAD(notify_page_fault_chain);
+ extern void die(const char *,struct pt_regs *,long);
  
-+int toi_faulted = 0;
++int toi_faulted;
 +EXPORT_SYMBOL(toi_faulted);
 +
- int register_page_fault_notifier(struct notifier_block *nb)
+ #ifdef CONFIG_KPROBES
+ static inline int notify_page_fault(struct pt_regs *regs)
  {
- 	vmalloc_sync_all();
 @@ -315,6 +319,22 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs,
  
  	si_code = SEGV_MAPERR;
@@ -1251,10 +1251,10 @@
  	/*
  	 * We fault-in kernel-space virtual memory on-demand. The
  	 * 'reference' page table is init_mm.pgd.
-diff --git a/arch/i386/mm/pageattr.c b/arch/i386/mm/pageattr.c
-index 4241a74..6b45150 100644
---- a/arch/i386/mm/pageattr.c
-+++ b/arch/i386/mm/pageattr.c
+diff --git a/arch/x86/mm/pageattr_32.c b/arch/x86/mm/pageattr_32.c
+index 260073c..ff6d57e 100644
+--- a/arch/x86/mm/pageattr_32.c
++++ b/arch/x86/mm/pageattr_32.c
 @@ -272,6 +272,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable)
  	 */
  	__flush_tlb_all();
@@ -1264,10 +1264,10 @@
  
  EXPORT_SYMBOL(change_page_attr);
 diff --git a/crypto/Kconfig b/crypto/Kconfig
-index 3d1a1e2..31ff638 100644
+index 083d2e1..e066d63 100644
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -427,6 +427,14 @@ config CRYPTO_DEFLATE
+@@ -453,6 +453,14 @@ config CRYPTO_DEFLATE
  	  
  	  You will most probably want this if using IPSec.
  
@@ -1283,54 +1283,54 @@
  	tristate "Michael MIC keyed digest algorithm"
  	select CRYPTO_ALGAPI
 diff --git a/crypto/Makefile b/crypto/Makefile
-index 0cf17f1..d0f6177 100644
+index 43c2a0d..d58f128 100644
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
-@@ -48,6 +48,7 @@ obj-$(CONFIG_CRYPTO_ANUBIS) += anubis.o
+@@ -51,6 +51,7 @@ obj-$(CONFIG_CRYPTO_SEED) += seed.o
  obj-$(CONFIG_CRYPTO_DEFLATE) += deflate.o
  obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += michael_mic.o
  obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o
 +obj-$(CONFIG_CRYPTO_LZF) += lzf.o
+ obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o
  
  obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
- 
 diff --git a/crypto/lzf.c b/crypto/lzf.c
 new file mode 100644
-index 0000000..aa97700
+index 0000000..a472649
 --- /dev/null
 +++ b/crypto/lzf.c
-@@ -0,0 +1,325 @@
-+/* 
+@@ -0,0 +1,327 @@
++/*
 + * Cryptoapi LZF compression module.
 + *
 + * Copyright (c) 2004-2005 Nigel Cunningham <nigel at tuxonice net>
 + *
 + * based on the deflate.c file:
-+ * 
++ *
 + * Copyright (c) 2003 James Morris <jmorris at intercode.com.au>
-+ * 
++ *
 + * and upon the LZF compression module donated to the TuxOnIce project with
 + * the following copyright:
 + *
 + * This program is free software; you can redistribute it and/or modify it
 + * under the terms of the GNU General Public License as published by the Free
-+ * Software Foundation; either version 2 of the License, or (at your option) 
++ * Software Foundation; either version 2 of the License, or (at your option)
 + * any later version.
 + * Copyright (c) 2000-2003 Marc Alexander Lehmann <pcg at goof.com>
-+ * 
++ *
 + * Redistribution and use in source and binary forms, with or without modifica-
 + * tion, are permitted provided that the following conditions are met:
-+ * 
++ *
 + *   1.  Redistributions of source code must retain the above copyright notice,
 + *       this list of conditions and the following disclaimer.
-+ * 
++ *
 + *   2.  Redistributions in binary form must reproduce the above copyright
 + *       notice, this list of conditions and the following disclaimer in the
 + *       documentation and/or other materials provided with the distribution.
-+ * 
++ *
 + *   3.  The name of the author may not be used to endorse or promote products
 + *       derived from this software without specific prior written permission.
-+ * 
++ *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
 + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
@@ -1375,7 +1375,7 @@
 + * For a low-memory configuration, use hlog == 13;
 + * For best compression, use 15 or 16.
 + */
-+static const int hlog = 14;
++static const int hlog = 13;
 +
 +/*
 + * don't play with this unless you benchmark!
@@ -1468,7 +1468,8 @@
 +			ref = *hslot;
 +			*hslot = ip;
 +
-+			if ((off = ip - ref - 1) < max_off
++			off = ip - ref - 1;
++			if (off < max_off
 +			    && ip + 4 < in_end && ref > in_data
 +			    && *(u16 *) ref == *(u16 *) ip && ref[2] == ip[2]
 +			    ) {
@@ -1489,9 +1490,9 @@
 +				if (lit) {
 +					*op++ = lit - 1;
 +					lit = -lit;
-+					do
++					do {
 +						*op++ = ip[lit];
-+					while (++lit);
++					} while (++lit);
 +				}
 +
 +				len -= 2;
@@ -1541,9 +1542,9 @@
 +
 +		*op++ = lit - 1;
 +		lit = -lit;
-+		do
++		do {
 +			*op++ = ip[lit];
-+		while (++lit);
++		} while (++lit);
 +	}
 +
 +	*out_len = op - out_data;
@@ -1562,7 +1563,8 @@
 +	do {
 +		unsigned int ctrl = *ip++;
 +
-+		if (ctrl < (1 << 5)) {	/* literal run */
++		if (ctrl < (1 << 5)) {
++			/* literal run */
 +			ctrl++;
 +
 +			if (op + ctrl > out_end)
@@ -1585,9 +1587,9 @@
 +			if (op + len > out_end || ref < (u8 *) dst)
 +				return 0;
 +
-+			do
++			do {
 +				*op++ = *ref++;
-+			while (--len);
++			} while (--len);
 +		}
 +	}
 +	while (op < out_end && ip < in_end);
@@ -1626,7 +1628,7 @@
 +MODULE_DESCRIPTION("LZF Compression Algorithm");
 +MODULE_AUTHOR("Marc Alexander Lehmann & Nigel Cunningham");
 diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c
-index 04f3973..62c9746 100644
+index 6123c70..55f0afc 100644
 --- a/drivers/macintosh/via-pmu.c
 +++ b/drivers/macintosh/via-pmu.c
 @@ -42,7 +42,6 @@
@@ -1638,32 +1640,33 @@
  #include <linux/suspend.h>
  #include <linux/cpu.h>
 diff --git a/drivers/md/md.c b/drivers/md/md.c
-index f883b7e..9fb308d 100644
+index cef9ebd..97e638e 100644
 --- a/drivers/md/md.c
 +++ b/drivers/md/md.c
-@@ -5430,6 +5430,8 @@ void md_do_sync(mddev_t *mddev)
+@@ -5426,6 +5426,8 @@ void md_do_sync(mddev_t *mddev)
  			last_mark = next;
  		}
  
-+		while(freezer_is_on())
++		while (freezer_is_on())
 +			yield();
  
  		if (kthread_should_stop()) {
  			/*
 diff --git a/fs/buffer.c b/fs/buffer.c
-index 0e5ec37..8455e94 100644
+index 7249e01..6b8393a 100644
 --- a/fs/buffer.c
 +++ b/fs/buffer.c
-@@ -234,6 +234,90 @@ void thaw_bdev(struct block_device *bdev, struct super_block *sb)
+@@ -247,6 +247,93 @@ void thaw_bdev(struct block_device *bdev, struct super_block *sb)
  }
  EXPORT_SYMBOL(thaw_bdev);
  
-+//#define DEBUG_FS_FREEZING
++/* #define DEBUG_FS_FREEZING */
++
 +/**
 + * freeze_filesystems - lock all filesystems and force them into a consistent
 + * state
 + */
-+void freeze_filesystems(void)
++void freeze_filesystems(int which)
 +{
 +	struct super_block *sb;
 +
@@ -1675,14 +1678,15 @@
 +	 */
 +	list_for_each_entry_reverse(sb, &super_blocks, s_list) {
 +#ifdef DEBUG_FS_FREEZING
-+		printk("Considering %s.%s: (root %p, bdev %x)",
++		printk(KERN_INFO "Considering %s.%s: (root %p, bdev %x)",
 +			sb->s_type->name ? sb->s_type->name : "?",
 +			sb->s_subtype ? sb->s_subtype : "", sb->s_root,
 +			sb->s_bdev ? sb->s_bdev->bd_dev : 0);
 +#endif
 +
 +		if (sb->s_type->fs_flags & FS_IS_FUSE &&
-+		    sb->s_frozen == SB_UNFROZEN) {
++		    sb->s_frozen == SB_UNFROZEN &&
++		    which & FS_FREEZER_FUSE) {
 +			sb->s_frozen = SB_FREEZE_TRANS;
 +			sb->s_flags |= MS_FROZEN;
 +			printk("Fuse filesystem done.\n");
@@ -1692,20 +1696,21 @@
 +		if (!sb->s_root || !sb->s_bdev ||
 +		    (sb->s_frozen == SB_FREEZE_TRANS) ||
 +		    (sb->s_flags & MS_RDONLY) ||
-+		    (sb->s_flags & MS_FROZEN)) {
++		    (sb->s_flags & MS_FROZEN) ||
++		    !(which & FS_FREEZER_NORMAL)) {
 +#ifdef DEBUG_FS_FREEZING
-+			printk("Nope.\n");
++			printk(KERN_INFO "Nope.\n");
 +#endif
 +			continue;
 +		}
 +
 +#ifdef DEBUG_FS_FREEZING
-+		printk("Freezing %x... ", sb->s_bdev->bd_dev);
++		printk(KERN_INFO "Freezing %x... ", sb->s_bdev->bd_dev);
 +#endif
 +		freeze_bdev(sb->s_bdev);
 +		sb->s_flags |= MS_FROZEN;
 +#ifdef DEBUG_FS_FREEZING
-+		printk("Done.\n");
++		printk(KERN_INFO "Done.\n");
 +#endif
 +	}
 +
@@ -1724,14 +1729,14 @@
 +	list_for_each_entry(sb, &super_blocks, s_list) {
 +		if (!(sb->s_flags & MS_FROZEN))
 +			continue;
-+	       
++
 +		if (sb->s_type->fs_flags & FS_IS_FUSE) {
-+			if (!(which & FS_THAW_FUSE))
++			if (!(which & FS_FREEZER_FUSE))
 +				continue;
 +
 +			sb->s_frozen = SB_UNFROZEN;
 +		} else {
-+			if (!(which & FS_THAW_NORMAL))
++			if (!(which & FS_FREEZER_NORMAL))
 +				continue;
 +
 +			thaw_bdev(sb->s_bdev, sb);
@@ -1758,7 +1763,7 @@
  	.kill_sb	= fuse_ctl_kill_sb,
  };
 diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
-index 3ad22be..29097a7 100644
+index db534bc..56a5923 100644
 --- a/fs/fuse/dev.c
 +++ b/fs/fuse/dev.c
 @@ -7,6 +7,7 @@
@@ -1777,7 +1782,7 @@
  
  MODULE_ALIAS_MISCDEV(FUSE_MINOR);
  
-@@ -693,6 +695,8 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
+@@ -702,6 +704,8 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
  	if (!fc)
  		return -EPERM;
  
@@ -1786,7 +1791,7 @@
   restart:
  	spin_lock(&fc->lock);
  	err = -EAGAIN;
-@@ -818,6 +822,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
+@@ -828,6 +832,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
  	if (!fc)
  		return -EPERM;
  
@@ -1797,7 +1802,7 @@
  	if (nbytes < sizeof(struct fuse_out_header))
  		return -EINVAL;
 diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
-index bd5a772..a333f6c 100644
+index 80d2f52..a50a2b7 100644
 --- a/fs/fuse/dir.c
 +++ b/fs/fuse/dir.c
 @@ -7,12 +7,14 @@
@@ -1815,7 +1820,7 @@
  
  #if BITS_PER_LONG >= 64
  static inline void fuse_dentry_settime(struct dentry *entry, u64 time)
-@@ -146,6 +148,9 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
+@@ -176,6 +178,9 @@ static int fuse_dentry_revalidate(struct dentry *entry, struct nameidata *nd)
  			return 0;
  
  		fc = get_fuse_conn(inode);
@@ -1825,7 +1830,7 @@
  		req = fuse_get_req(fc);
  		if (IS_ERR(req))
  			return 0;
-@@ -236,6 +241,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
+@@ -271,6 +276,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
  	if (IS_ERR(req))
  		return ERR_PTR(PTR_ERR(req));
  
@@ -1834,7 +1839,7 @@
  	forget_req = fuse_get_req(fc);
  	if (IS_ERR(forget_req)) {
  		fuse_put_request(fc, req);
-@@ -324,6 +331,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode,
+@@ -361,6 +368,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode,
  	if (IS_ERR(forget_req))
  		return PTR_ERR(forget_req);
  
@@ -1843,7 +1848,7 @@
  	req = fuse_get_req(fc);
  	err = PTR_ERR(req);
  	if (IS_ERR(req))
-@@ -405,6 +414,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req,
+@@ -446,6 +455,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req,
  	int err;
  	struct fuse_req *forget_req;
  
@@ -1852,7 +1857,7 @@
  	forget_req = fuse_get_req(fc);
  	if (IS_ERR(forget_req)) {
  		fuse_put_request(fc, req);
-@@ -498,7 +509,11 @@ static int fuse_mkdir(struct inode *dir, struct dentry *entry, int mode)
+@@ -543,7 +554,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);
@@ -1865,7 +1870,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -518,7 +533,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry,
+@@ -563,7 +578,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry,
  {
  	struct fuse_conn *fc = get_fuse_conn(dir);
  	unsigned len = strlen(link) + 1;
@@ -1878,7 +1883,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -535,7 +554,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
+@@ -580,7 +599,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
  {
  	int err;
  	struct fuse_conn *fc = get_fuse_conn(dir);
@@ -1891,7 +1896,7 @@
  	if (IS_ERR(req))
  		return PTR_ERR(req);
  
-@@ -566,7 +589,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
+@@ -611,7 +634,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
  {
  	int err;
  	struct fuse_conn *fc = get_fuse_conn(dir);
@@ -1905,7 +1910,7 @@
  		return PTR_ERR(req);
  
 diff --git a/fs/fuse/file.c b/fs/fuse/file.c
-index f79de7c..cd0e464 100644
+index bb05d22..a641288 100644
 --- a/fs/fuse/file.c
 +++ b/fs/fuse/file.c
 @@ -7,11 +7,13 @@
@@ -1931,7 +1936,7 @@
  	req = fuse_get_req(fc);
  	if (IS_ERR(req))
  		return PTR_ERR(req);
-@@ -465,6 +469,8 @@ static int fuse_commit_write(struct file *file, struct page *page,
+@@ -544,6 +548,8 @@ static int fuse_buffered_write(struct file *file, struct inode *inode,
  	if (is_bad_inode(inode))
  		return -EIO;
  
@@ -1940,7 +1945,7 @@
  	req = fuse_get_req(fc);
  	if (IS_ERR(req))
  		return PTR_ERR(req);
-@@ -542,6 +548,8 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf,
+@@ -637,6 +643,8 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf,
  	if (is_bad_inode(inode))
  		return -EIO;
  
@@ -1949,7 +1954,7 @@
  	req = fuse_get_req(fc);
  	if (IS_ERR(req))
  		return PTR_ERR(req);
-@@ -689,6 +697,8 @@ static int fuse_getlk(struct file *file, struct file_lock *fl)
+@@ -789,6 +797,8 @@ static int fuse_getlk(struct file *file, struct file_lock *fl)
  	struct fuse_lk_out outarg;
  	int err;
  
@@ -1958,7 +1963,7 @@
  	req = fuse_get_req(fc);
  	if (IS_ERR(req))
  		return PTR_ERR(req);
-@@ -719,6 +729,8 @@ static int fuse_setlk(struct file *file, struct file_lock *fl)
+@@ -819,6 +829,8 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock)
  	if (fl->fl_flags & FL_CLOSE)
  		return 0;
  
@@ -1967,7 +1972,7 @@
  	req = fuse_get_req(fc);
  	if (IS_ERR(req))
  		return PTR_ERR(req);
-@@ -766,6 +778,8 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block)
+@@ -883,6 +895,8 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block)
  	if (!inode->i_sb->s_bdev || fc->no_bmap)
  		return 0;
  
@@ -1978,27 +1983,28 @@
  		return 0;
 diff --git a/fs/fuse/fuse.h b/fs/fuse/fuse.h
 new file mode 100644
-index 0000000..ae1c80b
+index 0000000..170e49a
 --- /dev/null
 +++ b/fs/fuse/fuse.h
-@@ -0,0 +1,12 @@
+@@ -0,0 +1,13 @@
 +#define FUSE_MIGHT_FREEZE(superblock, desc) \
 +do { \
 +	int printed = 0; \
-+	while(superblock->s_frozen != SB_UNFROZEN) { \
++	while (superblock->s_frozen != SB_UNFROZEN) { \
 +		if (!printed) { \
-+			printk("%d frozen in " desc ".\n", current->pid); \
++			printk(KERN_INFO "%d frozen in " desc ".\n", \
++						current->pid); \
 +			printed = 1; \
 +		} \
 +		try_to_freeze(); \
 +		yield(); \
 +	} \
-+} while(0)
++} while (0)
 diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
-index 5448f62..55958a8 100644
+index 84f9f7d..7fd35d3 100644
 --- a/fs/fuse/inode.c
 +++ b/fs/fuse/inode.c
-@@ -638,7 +638,7 @@ static int fuse_get_sb(struct file_system_type *fs_type,
+@@ -702,7 +702,7 @@ static int fuse_get_sb(struct file_system_type *fs_type,
  static struct file_system_type fuse_fs_type = {
  	.owner		= THIS_MODULE,
  	.name		= "fuse",
@@ -2007,7 +2013,7 @@
  	.get_sb		= fuse_get_sb,
  	.kill_sb	= kill_anon_super,
  };
-@@ -657,7 +657,7 @@ static struct file_system_type fuseblk_fs_type = {
+@@ -721,7 +721,7 @@ static struct file_system_type fuseblk_fs_type = {
  	.name		= "fuseblk",
  	.get_sb		= fuse_get_sb_blk,
  	.kill_sb	= kill_block_super,
@@ -2017,31 +2023,29 @@
  
  static inline int register_fuseblk(void)
 diff --git a/fs/ioctl.c b/fs/ioctl.c
-index c2a773e..03915f0 100644
+index c2a773e..d83b362 100644
 --- a/fs/ioctl.c
 +++ b/fs/ioctl.c
-@@ -174,3 +174,5 @@ asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
+@@ -174,3 +174,4 @@ asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
   out:
  	return error;
  }
-+
 +EXPORT_SYMBOL(sys_ioctl);
-diff --git a/include/asm-i386/suspend.h b/include/asm-i386/suspend.h
-index a252073..2606fc7 100644
---- a/include/asm-i386/suspend.h
-+++ b/include/asm-i386/suspend.h
-@@ -8,6 +8,9 @@
- 
- static inline int arch_prepare_suspend(void) { return 0; }
+diff --git a/fs/namei.c b/fs/namei.c
+index 73e2e66..2fae2c1 100644
+--- a/fs/namei.c
++++ b/fs/namei.c
+@@ -2174,6 +2174,8 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry)
+ 	if (!dir->i_op || !dir->i_op->unlink)
+ 		return -EPERM;
  
-+extern int toi_faulted;
-+#define clear_toi_fault() do { toi_faulted = 0; } while(0)
++	vfs_check_frozen(dir->i_sb, SB_FREEZE_WRITE);
 +
- /* image of the saved processor state */
- struct saved_context {
-   	u16 es, fs, gs, ss;
+ 	DQUOT_INIT(dir);
+ 
+ 	mutex_lock(&dentry->d_inode->i_mutex);
 diff --git a/include/asm-powerpc/suspend.h b/include/asm-powerpc/suspend.h
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-suspend2.patch?r1=1.1.2.2.2.4&r2=1.1.2.2.2.5&f=u



More information about the pld-cvs-commit mailing list