[Cluster-devel] cluster/gfs-kernel/src/gfs dir.c ops_address.c ...

teigland at sourceware.org teigland at sourceware.org
Thu Jun 29 16:50:43 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	STABLE
Changes by:	teigland at sourceware.org	2006-06-29 16:50:41

Modified files:
	gfs-kernel/src/gfs: dir.c ops_address.c ops_file.c ops_fstype.c 

Log message:
	fixes to get compiling on 2.6.17
	don't know if the get_blocks changes are correct

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/dir.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.8.6.1.2.2&r2=1.8.6.1.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_address.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.5.2.1.4.2.2.1&r2=1.5.2.1.4.2.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_file.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.16.6.2.2.4&r2=1.16.6.2.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_fstype.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.13.2.1.4.2.2.2&r2=1.13.2.1.4.2.2.3

--- cluster/gfs-kernel/src/gfs/dir.c	2006/02/20 03:58:05	1.8.6.1.2.2
+++ cluster/gfs-kernel/src/gfs/dir.c	2006/06/29 16:50:41	1.8.6.1.2.3
@@ -59,6 +59,7 @@
 
 #include <linux/sched.h>
 #include <linux/slab.h>
+#include <linux/vmalloc.h>
 #include <linux/smp_lock.h>
 #include <linux/spinlock.h>
 #include <asm/semaphore.h>
--- cluster/gfs-kernel/src/gfs/ops_address.c	2006/06/28 15:58:11	1.5.2.1.4.2.2.1
+++ cluster/gfs-kernel/src/gfs/ops_address.c	2006/06/29 16:50:41	1.5.2.1.4.2.2.2
@@ -104,16 +104,14 @@
 
 static int
 get_blocks(struct inode *inode, sector_t lblock,
-	   unsigned long max_blocks,
 	   struct buffer_head *bh_result, int create)
 {
 	struct gfs_inode *ip = get_v2ip(inode);
 	int new = create;
 	uint64_t dblock;
-	uint32_t extlen;
 	int error;
 
-	error = gfs_block_map(ip, lblock, &new, &dblock, &extlen);
+	error = gfs_block_map(ip, lblock, &new, &dblock, NULL);
 	if (error)
 		return error;
 
@@ -124,13 +122,10 @@
 	if (new)
 		set_buffer_new(bh_result);
 
-	if (extlen > max_blocks)
-		extlen = max_blocks;
-	bh_result->b_size = extlen << inode->i_blkbits;
-
 	return 0;
 }
 
+#if 0
 /**
  * get_blocks_noalloc - 
  * @inode:
@@ -144,12 +139,11 @@
 
 static int
 get_blocks_noalloc(struct inode *inode, sector_t lblock,
-		   unsigned long max_blocks,
 		   struct buffer_head *bh_result, int create)
 {
 	int error;
 
-	error = get_blocks(inode, lblock, max_blocks, bh_result, FALSE);
+	error = get_blocks(inode, lblock, bh_result, FALSE);
 	if (error)
 		return error;
 
@@ -159,6 +153,7 @@
 
 	return 0;
 }
+#endif
 
 /**
  * gfs_writepage - Write complete page
--- cluster/gfs-kernel/src/gfs/ops_file.c	2006/02/13 20:28:26	1.16.6.2.2.4
+++ cluster/gfs-kernel/src/gfs/ops_file.c	2006/06/29 16:50:41	1.16.6.2.2.5
@@ -1465,12 +1465,13 @@
 
 	if (sdp->sd_args.ar_localflocks) {
 		if (IS_GETLK(cmd)) {
-			struct file_lock *tmp;
+			struct file_lock tmp;
+			int ret;
 			lock_kernel();
-			tmp = posix_test_lock(file, fl);
+			ret = posix_test_lock(file, fl, &tmp);
 			fl->fl_type = F_UNLCK;
-			if (tmp)
-				memcpy(fl, tmp, sizeof(struct file_lock));
+			if (ret)
+				memcpy(fl, &tmp, sizeof(struct file_lock));
 			unlock_kernel();
 		        return 0;
 		} else {
--- cluster/gfs-kernel/src/gfs/ops_fstype.c	2006/02/13 21:27:44	1.13.2.1.4.2.2.2
+++ cluster/gfs-kernel/src/gfs/ops_fstype.c	2006/06/29 16:50:41	1.13.2.1.4.2.2.3
@@ -697,9 +697,9 @@
 		return (struct super_block *)diaper;
 	}
 
-	down(&diaper->bd_mount_sem);
+	mutex_lock(&diaper->bd_mount_mutex);
 	sb = sget(fs_type, gfs_test_bdev_super, gfs_set_bdev_super, diaper);
-	up(&diaper->bd_mount_sem);
+	mutex_unlock(&diaper->bd_mount_mutex);
 	if (IS_ERR(sb))
 		goto out;
 




More information about the Cluster-devel mailing list