SOURCES: kernel-desktop-reiser4.patch - up to 2.6.22

czarny czarny at pld-linux.org
Fri Aug 3 02:24:09 CEST 2007


Author: czarny                       Date: Fri Aug  3 00:24:09 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- up to 2.6.22

---- Files affected:
SOURCES:
   kernel-desktop-reiser4.patch (1.10 -> 1.11) 

---- Diffs:

================================================================
Index: SOURCES/kernel-desktop-reiser4.patch
diff -u SOURCES/kernel-desktop-reiser4.patch:1.10 SOURCES/kernel-desktop-reiser4.patch:1.11
--- SOURCES/kernel-desktop-reiser4.patch:1.10	Sun Nov 19 06:51:50 2006
+++ SOURCES/kernel-desktop-reiser4.patch	Fri Aug  3 02:24:04 2007
@@ -1,14 +1,37 @@
---- linux-2.6.18.orig/Documentation/Changes	2006-09-20 03:42:06.000000000 +0000
-+++ linux-2.6.18.reiser4/Documentation/Changes	2006-11-19 02:58:40.276150237 +0000
+The same as reiser4-for-2.6.22.patch plus a fix for file conversion
+related bug wich caused metadata corruption when REISER4_DEBUG is on.
+
+diff -urN linux-2.6.22.orig/arch/i386/lib/usercopy.c linux-2.6.22/arch/i386/lib/usercopy.c
+--- linux-2.6.22.orig/arch/i386/lib/usercopy.c	2007-07-21 00:32:46.973831675 +0400
++++ linux-2.6.22/arch/i386/lib/usercopy.c	2007-07-29 00:25:34.800676805 +0400
+@@ -817,6 +817,7 @@
+ #endif
+ 	return n;
+ }
++EXPORT_SYMBOL(__copy_from_user_ll_nocache);
+ 
+ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from,
+ 					unsigned long n)
+@@ -831,6 +832,7 @@
+ #endif
+ 	return n;
+ }
++EXPORT_SYMBOL(__copy_from_user_ll_nocache_nozero);
+ 
+ /**
+  * copy_to_user: - Copy a block of data into user space.
+diff -urN linux-2.6.22.orig/Documentation/Changes linux-2.6.22/Documentation/Changes
+--- linux-2.6.22.orig/Documentation/Changes	2007-07-21 00:31:57.012856483 +0400
++++ linux-2.6.22/Documentation/Changes	2007-07-29 00:25:34.800676805 +0400
 @@ -36,6 +36,7 @@
  o  e2fsprogs              1.29                    # tune2fs
  o  jfsutils               1.1.3                   # fsck.jfs -V
  o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
 +o  reiser4progs           1.0.0                   # fsck.reiser4 -V
  o  xfsprogs               2.6.0                   # xfs_db -V
- o  pcmciautils            004
- o  pcmcia-cs              3.1.21                  # cardmgr -V
-@@ -145,6 +146,13 @@
+ o  pcmciautils            004                     # pccardctl -V
+ o  quota-tools            3.09                    # quota -V
+@@ -144,6 +145,13 @@
  versions of mkreiserfs, resize_reiserfs, debugreiserfs and
  reiserfsck. These utils work on both i386 and alpha platforms.
  
@@ -22,7 +45,7 @@
  Xfsprogs
  --------
  
-@@ -323,6 +331,10 @@
+@@ -322,6 +330,10 @@
  -------------
  o  <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
  
@@ -33,8 +56,9 @@
  Xfsprogs
  --------
  o  <ftp://oss.sgi.com/projects/xfs/download/>
---- linux-2.6.18.orig/Documentation/filesystems/reiser4.txt	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.18.reiser4/Documentation/filesystems/reiser4.txt	2006-11-19 02:58:40.278150237 +0000
+diff -urN linux-2.6.22.orig/Documentation/filesystems/reiser4.txt linux-2.6.22/Documentation/filesystems/reiser4.txt
+--- linux-2.6.22.orig/Documentation/filesystems/reiser4.txt	1970-01-01 03:00:00.000000000 +0300
++++ linux-2.6.22/Documentation/filesystems/reiser4.txt	2007-07-29 00:25:34.800676805 +0400
 @@ -0,0 +1,75 @@
 +Reiser4 filesystem
 +==================
@@ -111,48 +135,10 @@
 +dont_load_bitmap
 +	Don't load all bitmap blocks at mount time, it is useful for
 +	machines with tiny RAM and large disks.
---- linux-2.6.18.orig/arch/i386/lib/usercopy.c	2006-09-20 03:42:06.000000000 +0000
-+++ linux-2.6.18.reiser4/arch/i386/lib/usercopy.c	2006-11-19 03:50:04.921061237 +0000
-@@ -811,6 +811,7 @@
- #endif
- 	return n;
- }
-+EXPORT_SYMBOL(__copy_from_user_ll_nocache);
- 
- unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *from,
- 					unsigned long n)
-@@ -826,6 +827,7 @@
- #endif
- 	return n;
- }
-+EXPORT_SYMBOL(__copy_from_user_ll_nocache_nozero);
- 
- /**
-  * copy_to_user: - Copy a block of data into user space.
---- linux-2.6.18.orig/fs/Kconfig	2006-11-19 05:02:48.746571237 +0000
-+++ linux-2.6.18.reiser4/fs/Kconfig	2006-11-19 02:58:40.284150237 +0000
-@@ -177,6 +177,8 @@
- 	default y if EXT2_FS=y || EXT3_FS=y
- 	default m if EXT2_FS=m || EXT3_FS=m
- 
-+source "fs/reiser4/Kconfig"
-+
- config REISERFS_FS
- 	tristate "Reiserfs support"
- 	help
---- linux-2.6.18.orig/fs/Makefile	2006-09-20 03:42:06.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/Makefile	2006-11-19 02:58:40.285150237 +0000
-@@ -53,6 +53,7 @@
-  
- # Do not add any filesystems before this line
- obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
-+obj-$(CONFIG_REISER4_FS)	+= reiser4/
- obj-$(CONFIG_EXT3_FS)		+= ext3/ # Before ext2 so root fs can be ext3
- obj-$(CONFIG_JBD)		+= jbd/
- obj-$(CONFIG_EXT2_FS)		+= ext2/
---- linux-2.6.18.orig/fs/fs-writeback.c	2006-09-20 03:42:06.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/fs-writeback.c	2006-11-19 02:58:41.335150237 +0000
-@@ -286,8 +286,6 @@
+diff -urN linux-2.6.22.orig/fs/fs-writeback.c linux-2.6.22/fs/fs-writeback.c
+--- linux-2.6.22.orig/fs/fs-writeback.c	2007-07-21 00:32:04.502801671 +0400
++++ linux-2.6.22/fs/fs-writeback.c	2007-07-29 00:25:34.808678876 +0400
+@@ -296,8 +296,6 @@
   * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
   * that it can be located for waiting on in __writeback_single_inode().
   *
@@ -161,7 +147,7 @@
   * If `bdi' is non-zero then we're being asked to writeback a specific queue.
   * This function assumes that the blockdev superblock's inodes are backed by
   * a variety of queues, so all inodes are searched.  For other superblocks,
-@@ -303,11 +301,13 @@
+@@ -313,11 +311,13 @@
   * on the writer throttling path, and we get decent balancing between many
   * throttled threads: we don't want them all piling up on __wait_on_inode.
   */
@@ -177,7 +163,7 @@
  	if (!wbc->for_kupdate || list_empty(&sb->s_io))
  		list_splice_init(&sb->s_dirty, &sb->s_io);
  
-@@ -387,8 +387,19 @@
+@@ -397,8 +397,19 @@
  		if (wbc->nr_to_write <= 0)
  			break;
  	}
@@ -197,7 +183,7 @@
  
  /*
   * Start writeback of dirty pagecache data against all unlocked inodes.
-@@ -429,11 +440,8 @@
+@@ -439,11 +450,8 @@
  			 * be unmounted by the time it is released.
  			 */
  			if (down_read_trylock(&sb->s_umount)) {
@@ -210,7 +196,7 @@
  				up_read(&sb->s_umount);
  			}
  			spin_lock(&sb_lock);
-@@ -471,9 +479,7 @@
+@@ -481,9 +489,7 @@
  			(inodes_stat.nr_inodes - inodes_stat.nr_unused) +
  			nr_dirty + nr_unstable;
  	wbc.nr_to_write += wbc.nr_to_write / 2;		/* Bit more for luck */
@@ -220,274 +206,33 @@
  }
  
  /*
---- linux-2.6.18.orig/fs/reiser4/Kconfig	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/reiser4/Kconfig	2006-11-19 02:58:40.286150237 +0000
-@@ -0,0 +1,31 @@
-+config REISER4_FS
-+	tristate "Reiser4 (EXPERIMENTAL)"
-+	depends on EXPERIMENTAL
-+	select ZLIB_INFLATE
-+	select ZLIB_DEFLATE
-+	help
-+	  Reiser4 is a filesystem that performs all filesystem operations
-+	  as atomic transactions, which means that it either performs a
-+	  write, or it does not, and in the event of a crash it does not
-+	  partially perform it or corrupt it.
-+
-+	  It stores files in dancing trees, which are like balanced trees but
-+	  faster.  It packs small files together so that they share blocks
-+	  without wasting space.  This means you can use it to store really
-+	  small files.  It also means that it saves you disk space.  It avoids
-+	  hassling you with anachronisms like having a maximum number of
-+	  inodes, and wasting space if you use less than that number.
-+
-+	  Reiser4 is a distinct filesystem type from reiserfs (V3).
-+	  It's therefore not possible to use reiserfs file systems
-+	  with reiser4.
-+
-+	  To learn more about reiser4, go to http://www.namesys.com
-+
-+config REISER4_DEBUG
-+	bool "Enable reiser4 debug mode"
-+	depends on REISER4_FS
-+	help
-+	  Don't use this unless you are debugging reiser4.
-+
-+	  If unsure, say N.
---- linux-2.6.18.orig/fs/reiser4/Makefile	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/reiser4/Makefile	2006-11-19 02:58:40.287150237 +0000
-@@ -0,0 +1,100 @@
-+#
-+# reiser4/Makefile
-+#
-+
-+obj-$(CONFIG_REISER4_FS) += reiser4.o
-+
-+reiser4-y := \
-+		   debug.o \
-+		   jnode.o \
-+		   znode.o \
-+		   key.o \
-+		   pool.o \
-+		   tree_mod.o \
-+		   estimate.o \
-+		   carry.o \
-+		   carry_ops.o \
-+		   lock.o \
-+		   tree.o \
-+		   context.o \
-+		   tap.o \
-+		   coord.o \
-+		   block_alloc.o \
-+		   txnmgr.o \
-+		   kassign.o \
-+		   flush.o \
-+		   wander.o \
-+		   eottl.o \
-+		   search.o \
-+		   page_cache.o \
-+		   seal.o \
-+		   dscale.o \
-+		   flush_queue.o \
-+		   ktxnmgrd.o \
-+		   blocknrset.o \
-+		   super.o \
-+		   super_ops.o \
-+		   fsdata.o \
-+		   export_ops.o \
-+		   oid.o \
-+		   tree_walk.o \
-+		   inode.o \
-+		   vfs_ops.o \
-+		   as_ops.o \
-+		   entd.o\
-+		   readahead.o \
-+		   status_flags.o \
-+		   init_super.o \
-+		   safe_link.o \
-+           \
-+		   plugin/plugin.o \
-+		   plugin/plugin_set.o \
-+		   plugin/node/node.o \
-+		   plugin/object.o \
-+		   plugin/cluster.o \
-+		   plugin/inode_ops.o \
-+		   plugin/inode_ops_rename.o \
-+		   plugin/file_ops.o \
-+		   plugin/file_ops_readdir.o \
-+		   plugin/file_plugin_common.o \
-+		   plugin/file/file.o \
-+		   plugin/file/tail_conversion.o \
-+		   plugin/file/symlink.o \
-+		   plugin/file/cryptcompress.o \
-+		   plugin/dir_plugin_common.o \
-+		   plugin/dir/hashed_dir.o \
-+		   plugin/dir/seekable_dir.o \
-+		   plugin/node/node40.o \
-+           \
-+		   plugin/crypto/cipher.o \
-+		   plugin/crypto/digest.o \
-+           \
-+		   plugin/compress/minilzo.o \
-+		   plugin/compress/compress.o \
-+		   plugin/compress/compress_mode.o \
-+           \
-+		   plugin/item/static_stat.o \
-+		   plugin/item/sde.o \
-+		   plugin/item/cde.o \
-+		   plugin/item/blackbox.o \
-+		   plugin/item/internal.o \
-+		   plugin/item/tail.o \
-+		   plugin/item/ctail.o \
-+		   plugin/item/extent.o \
-+		   plugin/item/extent_item_ops.o \
-+		   plugin/item/extent_file_ops.o \
-+		   plugin/item/extent_flush_ops.o \
-+           \
-+		   plugin/hash.o \
-+		   plugin/fibration.o \
-+		   plugin/tail_policy.o \
-+		   plugin/item/item.o \
-+           \
-+		   plugin/security/perm.o \
-+		   plugin/space/bitmap.o \
-+           \
-+		   plugin/disk_format/disk_format40.o \
-+		   plugin/disk_format/disk_format.o \
-+	   \
-+		   plugin/regular.o
-+
---- linux-2.6.18.orig/fs/reiser4/README	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/reiser4/README	2006-11-19 02:58:40.290150237 +0000
-@@ -0,0 +1,125 @@
-+[LICENSING]
-+
-+Reiser4 is hereby licensed under the GNU General
-+Public License version 2.
-+
-+Source code files that contain the phrase "licensing governed by
-+reiser4/README" are "governed files" throughout this file.  Governed
-+files are licensed under the GPL.  The portions of them owned by Hans
-+Reiser, or authorized to be licensed by him, have been in the past,
-+and likely will be in the future, licensed to other parties under
-+other licenses.  If you add your code to governed files, and don't
-+want it to be owned by Hans Reiser, put your copyright label on that
-+code so the poor blight and his customers can keep things straight.
-+All portions of governed files not labeled otherwise are owned by Hans
-+Reiser, and by adding your code to it, widely distributing it to
-+others or sending us a patch, and leaving the sentence in stating that
-+licensing is governed by the statement in this file, you accept this.
-+It will be a kindness if you identify whether Hans Reiser is allowed
-+to license code labeled as owned by you on your behalf other than
-+under the GPL, because he wants to know if it is okay to do so and put
-+a check in the mail to you (for non-trivial improvements) when he
-+makes his next sale.  He makes no guarantees as to the amount if any,
-+though he feels motivated to motivate contributors, and you can surely
-+discuss this with him before or after contributing.  You have the
-+right to decline to allow him to license your code contribution other
-+than under the GPL.
-+
-+Further licensing options are available for commercial and/or other
-+interests directly from Hans Reiser: reiser at namesys.com.  If you interpret
-+the GPL as not allowing those additional licensing options, you read
-+it wrongly, and Richard Stallman agrees with me, when carefully read
-+you can see that those restrictions on additional terms do not apply
-+to the owner of the copyright, and my interpretation of this shall
-+govern for this license.
-+
-+[END LICENSING]
-+
-+Reiser4 is a file system based on dancing tree algorithms, and is
-+described at http://www.namesys.com
-+
-+mkfs.reiser4 and other utilities are on our webpage or wherever your
-+Linux provider put them.  You really want to be running the latest
-+version off the website if you use fsck.
-+
-+Yes, if you update your reiser4 kernel module you do have to
-+recompile your kernel, most of the time.  The errors you get will be
-+quite cryptic if your forget to do so.
-+
-+Hideous Commercial Pitch: Spread your development costs across other OS
-+vendors.  Select from the best in the world, not the best in your
-+building, by buying from third party OS component suppliers.  Leverage
-+the software component development power of the internet.  Be the most
-+aggressive in taking advantage of the commercial possibilities of
-+decentralized internet development, and add value through your branded
-+integration that you sell as an operating system.  Let your competitors
-+be the ones to compete against the entire internet by themselves.  Be
-+hip, get with the new economic trend, before your competitors do.  Send
-+email to reiser at namesys.com
-+
-+Hans Reiser was the primary architect of Reiser4, but a whole team
-+chipped their ideas in.  He invested everything he had into Namesys
-+for 5.5 dark years of no money before Reiser3 finally started to work well
-+enough to bring in money.  He owns the copyright.
-+
-+DARPA was the primary sponsor of Reiser4.  DARPA does not endorse
-+Reiser4, it merely sponsors it.  DARPA is, in solely Hans's personal
-+opinion, unique in its willingness to invest into things more
-+theoretical than the VC community can readily understand, and more
-+longterm than allows them to be sure that they will be the ones to
-+extract the economic benefits from.  DARPA also integrated us into a
-+security community that transformed our security worldview.
-+
-+Vladimir Saveliev is our lead programmer, with us from the beginning,
-+and he worked long hours writing the cleanest code.  This is why he is
-+now the lead programmer after years of commitment to our work.  He
-+always made the effort to be the best he could be, and to make his
-+code the best that it could be.  What resulted was quite remarkable. I
-+don't think that money can ever motivate someone to work the way he
-+did, he is one of the most selfless men I know.
-+
-+Alexander Lyamin was our sysadmin, and helped to educate us in
-+security issues.  Moscow State University and IMT were very generous
-+in the internet access they provided us, and in lots of other little
-+ways that a generous institution can be.
-+
-+Alexander Zarochentcev (sometimes known as zam, or sasha), wrote the
-+locking code, the block allocator, and finished the flushing code.
-+His code is always crystal clean and well structured.
-+
-+Nikita Danilov wrote the core of the balancing code, the core of the
-+plugins code, and the directory code.  He worked a steady pace of long
-+hours that produced a whole lot of well abstracted code.  He is our
-+senior computer scientist.
-+
-+Vladimir Demidov wrote the parser.  Writing an in kernel parser is
-+something very few persons have the skills for, and it is thanks to
-+him that we can say that the parser is really not so big compared to
-+various bits of our other code, and making a parser work in the kernel
-+was not so complicated as everyone would imagine mainly because it was
-+him doing it...
-+
-+Joshua McDonald wrote the transaction manager, and the flush code.
-+The flush code unexpectedly turned out be extremely hairy for reasons
-+you can read about on our web page, and he did a great job on an
-+extremely difficult task.
-+
-+Nina Reiser handled our accounting, government relations, and much
-+more.
-+
-+Ramon Reiser developed our website.
-+
-+Beverly Palmer drew our graphics.
-+
-+Vitaly Fertman developed librepair, userspace plugins repair code, fsck
-+and worked with Umka on developing libreiser4 and userspace plugins.
-+
-+Yury Umanets (aka Umka) developed libreiser4, userspace plugins and
-+userspace tools (reiser4progs).
-+
-+Oleg Drokin (aka Green) is the release manager who fixes everything.
-+It is so nice to have someone like that on the team.  He (plus Chris
-+and Jeff) make it possible for the entire rest of the Namesys team to
-+focus on Reiser4, and he fixed a whole lot of Reiser4 bugs also.  It
-+is just amazing to watch his talent for spotting bugs in action.
+diff -urN linux-2.6.22.orig/fs/Kconfig linux-2.6.22/fs/Kconfig
+--- linux-2.6.22.orig/fs/Kconfig	2007-07-21 00:32:57.540575927 +0400
++++ linux-2.6.22/fs/Kconfig	2007-07-29 00:25:34.812679911 +0400
+@@ -272,6 +272,8 @@
+ 	default y if EXT2_FS=y || EXT3_FS=y || EXT4DEV_FS=y
+ 	default m if EXT2_FS=m || EXT3_FS=m || EXT4DEV_FS=m
+ 
++source "fs/reiser4/Kconfig"
 +
---- linux-2.6.18.orig/fs/reiser4/as_ops.c	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.18.reiser4/fs/reiser4/as_ops.c	2006-11-19 02:58:41.369150237 +0000
-@@ -0,0 +1,394 @@
+ config REISERFS_FS
+ 	tristate "Reiserfs support"
+ 	help
+diff -urN linux-2.6.22.orig/fs/Makefile linux-2.6.22/fs/Makefile
+--- linux-2.6.22.orig/fs/Makefile	2007-07-21 00:32:57.544576967 +0400
++++ linux-2.6.22/fs/Makefile	2007-07-29 00:25:34.812679911 +0400
+@@ -66,6 +66,7 @@
+  
+ # Do not add any filesystems before this line
+ obj-$(CONFIG_REISERFS_FS)	+= reiserfs/
++obj-$(CONFIG_REISER4_FS)	+= reiser4/
+ obj-$(CONFIG_EXT3_FS)		+= ext3/ # Before ext2 so root fs can be ext3
+ obj-$(CONFIG_EXT4DEV_FS)	+= ext4/ # Before ext2 so root fs can be ext4dev
+ obj-$(CONFIG_JBD)		+= jbd/
+diff -urN linux-2.6.22.orig/fs/reiser4/as_ops.c linux-2.6.22/fs/reiser4/as_ops.c
+--- linux-2.6.22.orig/fs/reiser4/as_ops.c	1970-01-01 03:00:00.000000000 +0300
++++ linux-2.6.22/fs/reiser4/as_ops.c	2007-07-29 00:25:34.816680947 +0400
+@@ -0,0 +1,337 @@
 +/* Copyright 2003 by Hans Reiser, licensing governed by reiser4/README */
 +
 +/* Interface to VFS. Reiser4 address_space_operations are defined here. */
@@ -541,7 +286,7 @@
 + * @page: page to be dirtied
 + *
 + * Operation of struct address_space_operations. This implementation is used by
-+ * unix and crc file plugins.
++ * unix and cryptcompress file plugins.
 + *
 + * This is called when reiser4 page gets dirtied outside of reiser4, for
 + * example, when dirty bit is moved from pte to physical page.
@@ -556,11 +301,11 @@
 +	/* this page can be unformatted only */
 +	assert("vs-1734", (page->mapping &&
 +			   page->mapping->host &&
-+			   get_super_fake(page->mapping->host->i_sb) !=
++			   reiser4_get_super_fake(page->mapping->host->i_sb) !=
 +			   page->mapping->host
-+			   && get_cc_fake(page->mapping->host->i_sb) !=
++			   && reiser4_get_cc_fake(page->mapping->host->i_sb) !=
 +			   page->mapping->host
-+			   && get_bitmap_fake(page->mapping->host->i_sb) !=
++			   && reiser4_get_bitmap_fake(page->mapping->host->i_sb) !=
 +			   page->mapping->host));
 +
 +	if (!TestSetPageDirty(page)) {
@@ -586,64 +331,6 @@
 +	return 0;
 +}
 +
-+static int filler(void *vp, struct page *page)
-+{
-+	return page->mapping->a_ops->readpage(vp, page);
-+}
-+
-+/**
-+ * reiser4_readpages - submit read for a set of pages
-+ * @file: file to read
-+ * @mapping: address space
-+ * @pages: list of pages to submit read for
-+ * @nr_pages: number of pages no the list
-+ *
-+ * Operation of struct address_space_operations. This implementation is used by
-+ * unix and crc file plugins.
-+ *
-+ * Calls read_cache_pages or readpages hook if it is set.
-+ */
-+int
-+reiser4_readpages(struct file *file, struct address_space *mapping,
-+		  struct list_head *pages, unsigned nr_pages)
-+{
-+	reiser4_context *ctx;
-+	reiser4_file_fsdata *fsdata;
-+
-+	ctx = init_context(mapping->host->i_sb);
-+	if (IS_ERR(ctx))
-+		return PTR_ERR(ctx);
-+
-+	fsdata = reiser4_get_file_fsdata(file);
-+	if (IS_ERR(fsdata)) {
-+		reiser4_exit_context(ctx);
-+		return PTR_ERR(fsdata);
-+	}
-+
-+	if (fsdata->ra2.readpages)
-+		fsdata->ra2.readpages(mapping, pages, fsdata->ra2.data);
-+	else {
-+		/*
-+		 * filler (reiser4 readpage method) may involve tree search
-+		 * which is not allowed when lock stack is not clean. If lock
-+		 * stack is not clean - do nothing.
-+		 */
-+		if (lock_stack_isclean(get_current_lock_stack()))
-+			read_cache_pages(mapping, pages, filler, file);
-+		else {
-+			while (!list_empty(pages)) {
-+				struct page *victim;
-+
-+				victim = list_entry(pages->prev, struct page, lru);
-+				list_del(&victim->lru);
-+				page_cache_release(victim);
-+			}
-+		}
-+	}
-+	reiser4_exit_context(ctx);
-+	return 0;
-+}
-+
 +/* ->invalidatepage method for reiser4 */
 +
 +/*
@@ -681,9 +368,9 @@
 +	 *
 +	 * After many troubles with vmtruncate() based truncate (including
 +	 * races with flush, tail conversion, etc.) it was re-written in the
-+	 * top-to-bottom style: items are killed in cut_tree_object() and
-+	 * pages belonging to extent are invalidated in kill_hook_extent(). So
-+	 * probably now additional call to capture is not needed here.
++	 * top-to-bottom style: items are killed in reiser4_cut_tree_object()
++	 * and pages belonging to extent are invalidated in kill_hook_extent().
++	 * So probably now additional call to capture is not needed here.
 +	 */
 +
 +	assert("nikita-3137", PageLocked(page));
@@ -697,20 +384,21 @@
 +	 * during mount) it is simpler to let ->invalidatepage to be called on
 +	 * them. Check for this, and do nothing.
 +	 */
-+	if (get_super_fake(inode->i_sb) == inode)
++	if (reiser4_get_super_fake(inode->i_sb) == inode)
 +		return;
-+	if (get_cc_fake(inode->i_sb) == inode)
++	if (reiser4_get_cc_fake(inode->i_sb) == inode)
 +		return;
-+	if (get_bitmap_fake(inode->i_sb) == inode)
++	if (reiser4_get_bitmap_fake(inode->i_sb) == inode)
 +		return;
 +	assert("vs-1426", PagePrivate(page));
 +	assert("vs-1427",
 +	       page->mapping == jnode_get_mapping(jnode_by_page(page)));
 +	assert("", jprivate(page) != NULL);
 +	assert("", ergo(inode_file_plugin(inode) !=
-+			file_plugin_by_id(CRC_FILE_PLUGIN_ID), offset == 0));
++			file_plugin_by_id(CRYPTCOMPRESS_FILE_PLUGIN_ID),
++			offset == 0));
 +
-+	ctx = init_context(inode->i_sb);
++	ctx = reiser4_init_context(inode->i_sb);
 +	if (IS_ERR(ctx))
 +		return;
 +
@@ -722,7 +410,7 @@
 +		jref(node);
 +		JF_SET(node, JNODE_HEARD_BANSHEE);
 +		page_clear_jnode(page, node);
-+		uncapture_jnode(node);
++		reiser4_uncapture_jnode(node);
 +		unhash_unformatted_jnode(node);
 +		jput(node);
 +		reiser4_exit_context(ctx);
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/kernel-desktop-reiser4.patch?r1=1.10&r2=1.11&f=u



More information about the pld-cvs-commit mailing list