Author: arekm Date: Sun Sep 13 07:10:46 2009 GMT Module: packages Tag: HEAD ---- Log message: http://www.tuxonice.net/downloads/all/current-tuxonice-for-2.6.31.patch-20090911-v1.bz2
---- Files affected: packages/kernel: kernel-tuxonice.patch (1.5 -> 1.6) , kernel.spec (1.704 -> 1.705) ---- Diffs: ================================================================ Index: packages/kernel/kernel-tuxonice.patch diff -u packages/kernel/kernel-tuxonice.patch:1.5 packages/kernel/kernel-tuxonice.patch:1.6 --- packages/kernel/kernel-tuxonice.patch:1.5 Mon Jul 20 14:57:26 2009 +++ packages/kernel/kernel-tuxonice.patch Sun Sep 13 09:10:40 2009 @@ -483,7 +483,7 @@ + diff --git a/Documentation/power/tuxonice.txt b/Documentation/power/tuxonice.txt new file mode 100644 -index 0000000..8900b45 +index 0000000..3bf0575 --- /dev/null +++ b/Documentation/power/tuxonice.txt @@ -0,0 +1,948 @@ @@ -613,7 +613,7 @@ + something along the lines of: + + echo "TuxOnIce" > /hibernation-file -+ dd if=/dev/zero bs=1M count=512 >> hibernation-file ++ dd if=/dev/zero bs=1M count=512 >> /hibernation-file + + This will create a 512MB file called /hibernation-file. To get TuxOnIce to use + it: @@ -1436,10 +1436,10 @@ + testing. His efforts have contributed as much to TuxOnIce as any of the + names above. diff --git a/MAINTAINERS b/MAINTAINERS -index cf4abdd..979b923 100644 +index 8dca9d8..14c7e10 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -5655,6 +5655,13 @@ S: Maintained +@@ -5038,6 +5038,13 @@ S: Maintained F: drivers/tc/ F: include/linux/tc.h @@ -1451,8 +1451,8 @@ +S: Maintained + U14-34F SCSI DRIVER - P: Dario Ballabio - M: [email protected] + M: Dario Ballabio <[email protected]> + L: [email protected] diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 5422169..33be4fa 100644 --- a/arch/powerpc/mm/pgtable_32.c @@ -1466,10 +1466,10 @@ static int fixmaps; diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c -index 667188e..8113e78 100644 +index a06e8d1..9a1fe4b 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c -@@ -620,6 +620,7 @@ void machine_restart(char *cmd) +@@ -677,6 +677,7 @@ void machine_restart(char *cmd) { machine_ops.restart(cmd); } @@ -1478,10 +1478,10 @@ void machine_halt(void) { diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c -index e17efed..5d0b4d2 100644 +index 7e600c1..418725a 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c -@@ -1268,6 +1268,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable) +@@ -1284,6 +1284,7 @@ void kernel_map_pages(struct page *page, int numpages, int enable) */ __flush_tlb_all(); } @@ -1489,7 +1489,7 @@ #ifdef CONFIG_HIBERNATION -@@ -1282,7 +1283,7 @@ bool kernel_page_present(struct page *page) +@@ -1298,7 +1299,7 @@ bool kernel_page_present(struct page *page) pte = lookup_address((unsigned long)page_address(page), &level); return (pte_val(*pte) & _PAGE_PRESENT); } @@ -1498,23 +1498,17 @@ #endif /* CONFIG_HIBERNATION */ #endif /* CONFIG_DEBUG_PAGEALLOC */ -diff --git a/arch/x86/power/cpu_64.c b/arch/x86/power/cpu_64.c -index 5343540..d2d55bd 100644 ---- a/arch/x86/power/cpu_64.c -+++ b/arch/x86/power/cpu_64.c -@@ -10,6 +10,7 @@ - - #include <linux/smp.h> - #include <linux/suspend.h> -+#include <linux/module.h> - #include <asm/proto.h> - #include <asm/page.h> - #include <asm/pgtable.h> -@@ -77,6 +78,7 @@ void save_processor_state(void) +diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c +index b3d20b9..cb13f39 100644 +--- a/arch/x86/power/cpu.c ++++ b/arch/x86/power/cpu.c +@@ -111,9 +111,7 @@ void save_processor_state(void) { __save_processor_state(&saved_context); } -+EXPORT_SYMBOL_GPL(save_processor_state); +-#ifdef CONFIG_X86_32 + EXPORT_SYMBOL(save_processor_state); +-#endif static void do_fpu_end(void) { @@ -1564,7 +1558,7 @@ } +EXPORT_SYMBOL_GPL(arch_hibernation_header_restore); diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c -index 3e4bc69..80612e3 100644 +index 58a3e57..4b0c6cf 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -55,6 +55,7 @@ void device_pm_lock(void) @@ -1584,10 +1578,10 @@ /** * device_pm_add - add a device to the list of active devices diff --git a/drivers/char/vt.c b/drivers/char/vt.c -index 08151d4..7377d98 100644 +index 404f4c1..0988ad0 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c -@@ -187,6 +187,7 @@ int fg_console; +@@ -188,6 +188,7 @@ int fg_console; int last_console; int want_console = -1; int kmsg_redirect; @@ -1596,24 +1590,24 @@ /* * For each existing display, we have a pointer to console currently visible diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c -index 4984aa8..c69b548 100644 +index ffe8f43..5e7dca6 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c -@@ -136,7 +136,8 @@ drm_gem_object_alloc(struct drm_device *dev, size_t size) - obj = kcalloc(1, sizeof(*obj), GFP_KERNEL); +@@ -138,7 +138,8 @@ drm_gem_object_alloc(struct drm_device *dev, size_t size) + goto free; obj->dev = dev; - obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE); + obj->filp = shmem_file_setup("drm mm object", size, + VM_NORESERVE | VM_ATOMIC_COPY); - if (IS_ERR(obj->filp)) { - kfree(obj); - return NULL; + if (IS_ERR(obj->filp)) + goto free; + diff --git a/drivers/md/md.c b/drivers/md/md.c -index 641b211..73ccc45 100644 +index 9dd8720..88dc120 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c -@@ -6251,6 +6251,9 @@ void md_do_sync(mddev_t *mddev) +@@ -6245,6 +6245,9 @@ void md_do_sync(mddev_t *mddev) mddev->curr_resync = 2; try_again: @@ -1623,7 +1617,7 @@ if (kthread_should_stop()) { set_bit(MD_RECOVERY_INTR, &mddev->recovery); goto skip; -@@ -6272,6 +6275,10 @@ void md_do_sync(mddev_t *mddev) +@@ -6266,6 +6269,10 @@ void md_do_sync(mddev_t *mddev) * time 'round when curr_resync == 2 */ continue; @@ -1634,7 +1628,7 @@ /* We need to wait 'interruptible' so as not to * contribute to the load average, and not to * be caught by 'softlockup' -@@ -6284,6 +6291,7 @@ void md_do_sync(mddev_t *mddev) +@@ -6278,6 +6285,7 @@ void md_do_sync(mddev_t *mddev) " share one or more physical units)\n", desc, mdname(mddev), mdname(mddev2)); mddev_put(mddev2); @@ -1643,8 +1637,8 @@ flush_signals(current); schedule(); @@ -6384,6 +6392,9 @@ void md_do_sync(mddev_t *mddev) - mddev->resync_max > j - || kthread_should_stop()); + || kthread_should_stop()); + } + while (freezer_is_on()) + yield(); @@ -1663,10 +1657,10 @@ if (kthread_should_stop()) goto interrupted; diff --git a/fs/block_dev.c b/fs/block_dev.c -index f45dbc1..52a7869 100644 +index 94dfda2..8c1b98e 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c -@@ -321,6 +321,93 @@ int thaw_bdev(struct block_device *bdev, struct super_block *sb) +@@ -327,6 +327,93 @@ int thaw_bdev(struct block_device *bdev, struct super_block *sb) } EXPORT_SYMBOL(thaw_bdev); @@ -1761,7 +1755,7 @@ { return block_write_full_page(page, blkdev_get_block, wbc); diff --git a/fs/drop_caches.c b/fs/drop_caches.c -index b6a719a..30ef3f3 100644 +index a2edb79..1d0444e 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -8,6 +8,7 @@ @@ -1802,7 +1796,7 @@ .kill_sb = fuse_ctl_kill_sb, }; diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c -index ba76b68..e9942d4 100644 +index 6484eb7..5251799 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -7,6 +7,7 @@ @@ -1821,7 +1815,7 @@ MODULE_ALIAS_MISCDEV(FUSE_MINOR); -@@ -752,6 +754,8 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov, +@@ -758,6 +760,8 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov, if (!fc) return -EPERM; @@ -1830,7 +1824,7 @@ restart: spin_lock(&fc->lock); err = -EAGAIN; -@@ -912,6 +916,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov, +@@ -999,6 +1003,9 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov, if (!fc) return -EPERM; @@ -1841,7 +1835,7 @@ if (nbytes < sizeof(struct fuse_out_header)) return -EINVAL; diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c -index 8b8eebc..31cda20 100644 +index e703654..bfb0500 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -7,12 +7,14 @@ @@ -1887,7 +1881,7 @@ err = -EIO; if (inode && get_node_id(inode) == FUSE_ROOT_ID) goto out_iput; -@@ -402,6 +411,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode, +@@ -389,6 +398,8 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode, if (IS_ERR(forget_req)) return PTR_ERR(forget_req); @@ -1896,7 +1890,7 @@ req = fuse_get_req(fc); err = PTR_ERR(req); if (IS_ERR(req)) -@@ -488,6 +499,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req, +@@ -482,6 +493,8 @@ static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req, int err; struct fuse_req *forget_req; @@ -1905,7 +1899,7 @@ forget_req = fuse_get_req(fc); if (IS_ERR(forget_req)) { fuse_put_request(fc, req); -@@ -585,7 +598,11 @@ static int fuse_mkdir(struct inode *dir, struct dentry *entry, int mode) +@@ -584,7 +597,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); @@ -1918,7 +1912,7 @@ if (IS_ERR(req)) return PTR_ERR(req); -@@ -605,7 +622,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry, +@@ -608,7 +625,11 @@ static int fuse_symlink(struct inode *dir, struct dentry *entry, { struct fuse_conn *fc = get_fuse_conn(dir); unsigned len = strlen(link) + 1; @@ -1931,7 +1925,7 @@ if (IS_ERR(req)) return PTR_ERR(req); -@@ -622,7 +643,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry) +@@ -625,7 +646,11 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry) { int err; struct fuse_conn *fc = get_fuse_conn(dir); @@ -1944,7 +1938,7 @@ if (IS_ERR(req)) return PTR_ERR(req); -@@ -655,7 +680,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry) +@@ -658,7 +683,11 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry) { int err; struct fuse_conn *fc = get_fuse_conn(dir); @@ -1958,7 +1952,7 @@ return PTR_ERR(req); diff --git a/fs/fuse/file.c b/fs/fuse/file.c -index 06f30e9..80ad032 100644 +index cbc4640..b99aa5c 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -7,11 +7,13 @@ @@ -1972,19 +1966,19 @@ #include <linux/kernel.h> #include <linux/sched.h> +#include <linux/freezer.h> + #include <linux/module.h> static const struct file_operations fuse_direct_io_file_operations; - -@@ -23,6 +25,8 @@ static int fuse_send_open(struct inode *inode, struct file *file, int isdir, - struct fuse_req *req; +@@ -109,6 +111,8 @@ int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, int err; + int opcode = isdir ? FUSE_OPENDIR : FUSE_OPEN; -+ FUSE_MIGHT_FREEZE(inode->i_sb, "fuse_send_open"); ++ FUSE_MIGHT_FREEZE(file->f_path.dentry->d_inode->i_sb, "fuse_send_open"); + - req = fuse_get_req(fc); - if (IS_ERR(req)) - return PTR_ERR(req); -@@ -279,6 +283,8 @@ static int fuse_flush(struct file *file, fl_owner_t id) + ff = fuse_file_alloc(fc); + if (!ff) + return -ENOMEM; +@@ -316,6 +320,8 @@ static int fuse_flush(struct file *file, fl_owner_t id) if (fc->no_flush) return 0; @@ -1993,7 +1987,7 @@ req = fuse_get_req_nofail(fc, file); memset(&inarg, 0, sizeof(inarg)); inarg.fh = ff->fh; -@@ -330,6 +336,8 @@ int fuse_fsync_common(struct file *file, struct dentry *de, int datasync, +@@ -367,6 +373,8 @@ int fuse_fsync_common(struct file *file, struct dentry *de, int datasync, if ((!isdir && fc->no_fsync) || (isdir && fc->no_fsyncdir)) return 0; @@ -2002,7 +1996,7 @@ /* * Start writeback against all dirty pages of the inode, then * wait for all outstanding writes, before sending the FSYNC -@@ -437,6 +445,8 @@ static int fuse_readpage(struct file *file, struct page *page) +@@ -474,6 +482,8 @@ static int fuse_readpage(struct file *file, struct page *page) if (is_bad_inode(inode)) goto out; @@ -2011,7 +2005,7 @@ /* * Page writeback can extend beyond the liftime of the * page-cache page, so make sure we read a properly synced -@@ -540,6 +550,9 @@ static int fuse_readpages_fill(void *_data, struct page *page) +@@ -576,6 +586,9 @@ static int fuse_readpages_fill(void *_data, struct page *page) struct inode *inode = data->inode; struct fuse_conn *fc = get_fuse_conn(inode); @@ -2021,7 +2015,7 @@ fuse_wait_on_page_writeback(inode, page->index); if (req->num_pages && -@@ -570,6 +583,8 @@ static int fuse_readpages(struct file *file, struct address_space *mapping, +@@ -606,6 +619,8 @@ static int fuse_readpages(struct file *file, struct address_space *mapping, if (is_bad_inode(inode)) goto out; @@ -2030,7 +2024,7 @@ data.file = file; data.inode = inode; data.req = fuse_get_req(fc); -@@ -686,6 +701,8 @@ static int fuse_buffered_write(struct file *file, struct inode *inode, +@@ -719,6 +734,8 @@ static int fuse_buffered_write(struct file *file, struct inode *inode, if (is_bad_inode(inode)) return -EIO; @@ -2039,7 +2033,7 @@ /* * Make sure writepages on the same page are not mixed up with * plain writes. -@@ -842,6 +859,8 @@ static ssize_t fuse_perform_write(struct file *file, +@@ -875,6 +892,8 @@ static ssize_t fuse_perform_write(struct file *file, struct fuse_req *req; ssize_t count; @@ -2048,16 +2042,16 @@ req = fuse_get_req(fc); if (IS_ERR(req)) { err = PTR_ERR(req); -@@ -992,6 +1011,8 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf, - if (is_bad_inode(inode)) - return -EIO; +@@ -1022,6 +1041,8 @@ ssize_t fuse_direct_io(struct file *file, const char __user *buf, + ssize_t res = 0; + struct fuse_req *req; + FUSE_MIGHT_FREEZE(file->f_mapping->host->i_sb, "fuse_direct_io"); + req = fuse_get_req(fc); if (IS_ERR(req)) return PTR_ERR(req); -@@ -1360,6 +1381,8 @@ static int fuse_getlk(struct file *file, struct file_lock *fl) +@@ -1408,6 +1429,8 @@ static int fuse_getlk(struct file *file, struct file_lock *fl) struct fuse_lk_out outarg; int err; @@ -2066,7 +2060,7 @@ req = fuse_get_req(fc); if (IS_ERR(req)) return PTR_ERR(req); -@@ -1395,6 +1418,8 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock) +@@ -1443,6 +1466,8 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock) if (fl->fl_flags & FL_CLOSE) return 0; @@ -2075,7 +2069,7 @@ req = fuse_get_req(fc); if (IS_ERR(req)) return PTR_ERR(req); -@@ -1461,6 +1486,8 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block) +@@ -1509,6 +1534,8 @@ static sector_t fuse_bmap(struct address_space *mapping, sector_t block) if (!inode->i_sb->s_bdev || fc->no_bmap) return 0; @@ -2104,32 +2098,32 @@ + } \ +} while (0) diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c -index 91f7c85..cb18b16 100644 +index f91ccc4..8de2966 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c -@@ -929,7 +929,7 @@ static int fuse_get_sb(struct file_system_type *fs_type, +@@ -991,7 +991,7 @@ static void fuse_kill_sb_anon(struct super_block *sb) static struct file_system_type fuse_fs_type = { .owner = THIS_MODULE, .name = "fuse", - .fs_flags = FS_HAS_SUBTYPE, + .fs_flags = FS_HAS_SUBTYPE | FS_IS_FUSE, .get_sb = fuse_get_sb, - .kill_sb = kill_anon_super, + .kill_sb = fuse_kill_sb_anon, }; -@@ -948,7 +948,7 @@ static struct file_system_type fuseblk_fs_type = { +@@ -1023,7 +1023,7 @@ static struct file_system_type fuseblk_fs_type = { .name = "fuseblk", .get_sb = fuse_get_sb_blk, - .kill_sb = kill_block_super, + .kill_sb = fuse_kill_sb_blk, - .fs_flags = FS_REQUIRES_DEV | FS_HAS_SUBTYPE, + .fs_flags = FS_REQUIRES_DEV | FS_HAS_SUBTYPE | FS_IS_FUSE, }; static inline int register_fuseblk(void) diff --git a/fs/namei.c b/fs/namei.c -index 967c3db..bffeb61 100644 +index 1f13751..96fcd99 100644 --- a/fs/namei.c +++ b/fs/namei.c -@@ -2220,6 +2220,8 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry) +@@ -2271,6 +2271,8 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry) if (!dir->i_op->unlink) return -EPERM; @@ -2139,10 +2133,10 @@ mutex_lock(&dentry->d_inode->i_mutex); diff --git a/fs/super.c b/fs/super.c -index 1943fdf..0ad40de 100644 +index 2761d3e..6892dab 100644 --- a/fs/super.c +++ b/fs/super.c -@@ -44,6 +44,8 @@ +@@ -42,6 +42,8 @@ LIST_HEAD(super_blocks); @@ -2152,10 +2146,10 @@ /** diff --git a/include/linux/Kbuild b/include/linux/Kbuild -index 3f0eaa3..40e2a83 100644 +index 334a359..c53ebd5 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild -@@ -209,6 +209,7 @@ unifdef-y += filter.h +@@ -211,6 +211,7 @@ unifdef-y += filter.h unifdef-y += flat.h unifdef-y += futex.h unifdef-y += fs.h @@ -2201,18 +2195,10 @@ 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 3b534e5..46dc165 100644 +index 73e9b64..78b2ef3 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -8,6 +8,7 @@ - - #include <linux/limits.h> - #include <linux/ioctl.h> -+#include <linux/freezer.h> - - /* - * It's silly to have NR_OPEN bigger than NR_FILE, but you can change -@@ -172,6 +173,7 @@ struct inodes_stat_t { +@@ -172,6 +172,7 @@ struct inodes_stat_t { #define FS_REQUIRES_DEV 1 #define FS_BINARY_MOUNTDATA 2 #define FS_HAS_SUBTYPE 4 @@ -2220,7 +2206,7 @@ #define FS_REVAL_DOT 16384 /* Check the paths ".", ".." for staleness */ #define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() * during rename() internally. -@@ -205,6 +207,7 @@ struct inodes_stat_t { +@@ -205,6 +206,7 @@ struct inodes_stat_t { #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ #define MS_I_VERSION (1<<23) /* Update inode I_version field */ #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ @@ -2228,7 +2214,7 @@ #define MS_ACTIVE (1<<30) #define MS_NOUSER (1<<31) -@@ -231,6 +234,8 @@ struct inodes_stat_t { +@@ -231,6 +233,8 @@ struct inodes_stat_t { #define S_NOCMTIME 128 /* Do not update file c/mtime */ #define S_SWAPFILE 256 /* Do not truncate: swapon got its bmaps */ #define S_PRIVATE 512 /* Inode is fs-internal */ @@ -2237,7 +2223,15 @@ /* * Note that nosuid etc flags are inode-specific: setting some file-system -@@ -1390,8 +1395,11 @@ enum { +@@ -373,6 +377,7 @@ struct inodes_stat_t { + #include <linux/capability.h> + #include <linux/semaphore.h> + #include <linux/fiemap.h> ++#include <linux/freezer.h> + + #include <asm/atomic.h> + #include <asm/byteorder.h> +@@ -1392,8 +1397,11 @@ enum { SB_FREEZE_TRANS = 2, }; @@ -2251,10 +2245,12 @@ #define get_fs_excl() atomic_inc(¤t->fs_excl) #define put_fs_excl() atomic_dec(¤t->fs_excl) -@@ -1949,6 +1957,11 @@ extern int thaw_bdev(struct block_device *bdev, struct super_block *sb); +@@ -1957,6 +1965,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 *); - extern int fsync_super(struct super_block *); - extern int fsync_no_super(struct block_device *); ++extern int fsync_super(struct super_block *); ++extern int fsync_no_super(struct block_device *); +#define FS_FREEZER_FUSE 1 +#define FS_FREEZER_NORMAL 2 +#define FS_FREEZER_ALL (FS_FREEZER_FUSE | FS_FREEZER_NORMAL) @@ -2264,10 +2260,10 @@ static inline void bd_forget(struct inode *inode) {} static inline int sync_blockdev(struct block_device *bdev) { return 0; } diff --git a/include/linux/mm.h b/include/linux/mm.h -index bff1f0d..c4199cd 100644 +index 9a72cc7..ec0431d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -105,6 +105,7 @@ extern unsigned int kobjsize(const void *objp); +@@ -103,6 +103,7 @@ extern unsigned int kobjsize(const void *objp); #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 */ @@ -2275,7 +2271,7 @@ #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS -@@ -1297,6 +1298,7 @@ int drop_caches_sysctl_handler(struct ctl_table *, int, struct file *, +@@ -1278,6 +1279,7 @@ int drop_caches_sysctl_handler(struct ctl_table *, int, struct file *, <<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.5&r2=1.6&f=u http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.704&r2=1.705&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
