## Automatically generated incremental diff
## From:   linux-2.4.21-rc7
## To:     linux-2.4.21-rc8
## Robot:  $Id: make-incremental-diff,v 1.11 2002/02/20 02:59:33 hpa Exp $

diff -urN linux-2.4.21-rc7/Makefile linux-2.4.21-rc8/Makefile
--- linux-2.4.21-rc7/Makefile	2003-06-10 15:12:39.000000000 -0700
+++ linux-2.4.21-rc8/Makefile	2003-06-10 15:14:00.000000000 -0700
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 21
-EXTRAVERSION = -rc7
+EXTRAVERSION = -rc8
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
diff -urN linux-2.4.21-rc7/drivers/char/rocket_int.h linux-2.4.21-rc8/drivers/char/rocket_int.h
--- linux-2.4.21-rc7/drivers/char/rocket_int.h	2002-08-02 17:39:43.000000000 -0700
+++ linux-2.4.21-rc8/drivers/char/rocket_int.h	2003-06-10 15:14:24.000000000 -0700
@@ -7,23 +7,15 @@
  * 
  * Copyright 1994 Comtrol Corporation.    All Rights Reserved.
  * 
- * The following source code is subject to Comtrol Corporation's
- * Developer's License Agreement.
- * 
- * This source code is protected by United States copyright law and 
- * international copyright treaties.
- * 
- * This source code may only be used to develop software products that
- * will operate with Comtrol brand hardware.
- * 
- * You may not reproduce nor distribute this source code in its original
- * form but must produce a derivative work which includes portions of
- * this source code only.
- * 
- * The portions of this source code which you use in your derivative
- * work must bear Comtrol's copyright notice:
- * 
- * 		Copyright 1994 Comtrol Corporation.
+ * This driver 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, or (at your option)
+ * any later version.
+ *
+ * This driver is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
  * 
  */
 
diff -urN linux-2.4.21-rc7/fs/ext2/balloc.c linux-2.4.21-rc8/fs/ext2/balloc.c
--- linux-2.4.21-rc7/fs/ext2/balloc.c	2003-06-10 15:13:52.000000000 -0700
+++ linux-2.4.21-rc8/fs/ext2/balloc.c	2003-06-10 15:14:52.000000000 -0700
@@ -520,7 +520,7 @@
 	    in_range (tmp, le32_to_cpu(gdp->bg_inode_table),
 		      EXT2_SB(sb)->s_itb_per_group)) {
 		ext2_error (sb, "ext2_new_block",
-			    "Allocating block in system zone - block = %lu",
+			    "Allocating block in system zone - block = %u",
 			    tmp);
 		ext2_set_bit(j, bh->b_data);
 		DQUOT_FREE_BLOCK(inode, 1);
diff -urN linux-2.4.21-rc7/include/linux/iobuf.h linux-2.4.21-rc8/include/linux/iobuf.h
--- linux-2.4.21-rc7/include/linux/iobuf.h	2003-06-10 15:13:54.000000000 -0700
+++ linux-2.4.21-rc8/include/linux/iobuf.h	2002-11-28 15:53:15.000000000 -0800
@@ -32,7 +32,6 @@
 
 struct kiobuf 
 {
-	int		rw;		/* mapped for READ or WRITE */
 	int		nr_pages;	/* Pages actually referenced */
 	int		array_len;	/* Space in the allocated lists */
 	int		offset;		/* Offset to start of valid data */
diff -urN linux-2.4.21-rc7/mm/memory.c linux-2.4.21-rc8/mm/memory.c
--- linux-2.4.21-rc7/mm/memory.c	2003-06-10 15:13:54.000000000 -0700
+++ linux-2.4.21-rc8/mm/memory.c	2002-11-28 15:53:15.000000000 -0800
@@ -553,7 +553,6 @@
 	if (err)
 		return err;
 
-	iobuf->rw = rw;
 	iobuf->locked = 0;
 	iobuf->offset = va & (PAGE_SIZE-1);
 	iobuf->length = len;
@@ -570,10 +569,11 @@
 		return err;
 	}
 	iobuf->nr_pages = err;
-	/* if rw==WRITE, get updated data before writing them to disk */
-	if (rw==WRITE) {
-		while (pgcount--) 
-			flush_dcache_page(iobuf->maplist[pgcount]);
+	while (pgcount--) {
+		/* FIXME: flush superflous for rw==READ,
+		 * probably wrong function for rw==WRITE
+		 */
+		flush_dcache_page(iobuf->maplist[pgcount]);
 	}
 	dprintk ("map_user_kiobuf: end OK\n");
 	return 0;
@@ -628,10 +628,9 @@
 		if (map) {
 			if (iobuf->locked)
 				UnlockPage(map);
-			/* if rw==READ, flush dcache before user uses data */
-			if (iobuf->rw==READ) {
-				flush_dcache_page(iobuf->maplist[i]);
-			}
+			/* FIXME: cache flush missing for rw==READ
+			 * FIXME: call the correct reference counting function
+			 */
 			page_cache_release(map);
 		}
 	}
diff -urN linux-2.4.21-rc7/mm/shmem.c linux-2.4.21-rc8/mm/shmem.c
--- linux-2.4.21-rc7/mm/shmem.c	2003-06-10 15:13:54.000000000 -0700
+++ linux-2.4.21-rc8/mm/shmem.c	2003-06-10 15:14:54.000000000 -0700
@@ -681,9 +681,9 @@
 	struct inode * inode = file->f_dentry->d_inode;
 	struct shmem_inode_info * info = SHMEM_I(inode);
 
-	down(&info->sem);
+	spin_lock(&info->lock);
 	info->locked = lock;
-	up(&info->sem);
+	spin_unlock(&info->lock);
 }
 
 static int shmem_mmap(struct file * file, struct vm_area_struct * vma)
