rpms/kernel/devel kernel-2.6.spec, 1.2552, 1.2553 linux-2.6-gfs2-dlm.patch, 1.13, 1.14

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Aug 11 22:22:58 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv29775

Modified Files:
	kernel-2.6.spec linux-2.6-gfs2-dlm.patch 
Log Message:
gfs2 locking bugfix


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2552
retrieving revision 1.2553
diff -u -r1.2552 -r1.2553
--- kernel-2.6.spec	11 Aug 2006 22:21:35 -0000	1.2552
+++ kernel-2.6.spec	11 Aug 2006 22:22:53 -0000	1.2553
@@ -1707,6 +1707,7 @@
 * Fri Aug 11 2006 Dave Jones <davej at redhat.com>
 - Yet more lockdep fixes.
 - Update to GregKH's daily tree.
+- GFS2/DLM locking bugfix
 
 * Thu Aug 10 2006 Roland McGrath <roland at redhat.com>
 - New utrace patch: fix ptrace synchronization issues.

linux-2.6-gfs2-dlm.patch:
 CREDITS                            |    6 
 Documentation/filesystems/gfs2.txt |   43 
 MAINTAINERS                        |   18 
 fs/Kconfig                         |    2 
 fs/Makefile                        |    2 
 fs/configfs/item.c                 |    2 
 fs/dlm/Kconfig                     |   21 
 fs/dlm/Makefile                    |   19 
 fs/dlm/ast.c                       |  172 +
 fs/dlm/ast.h                       |   26 
 fs/dlm/config.c                    |  789 +++++++
 fs/dlm/config.h                    |   42 
 fs/dlm/debug_fs.c                  |  387 +++
 fs/dlm/dir.c                       |  423 ++++
 fs/dlm/dir.h                       |   30 
 fs/dlm/dlm_internal.h              |  541 +++++
 fs/dlm/lock.c                      | 3846 +++++++++++++++++++++++++++++++++++++
 fs/dlm/lock.h                      |   61 
 fs/dlm/lockspace.c                 |  716 ++++++
 fs/dlm/lockspace.h                 |   25 
 fs/dlm/lowcomms.c                  | 1238 +++++++++++
 fs/dlm/lowcomms.h                  |   26 
 fs/dlm/lvb_table.h                 |   18 
 fs/dlm/main.c                      |   97 
 fs/dlm/member.c                    |  327 +++
 fs/dlm/member.h                    |   24 
 fs/dlm/memory.c                    |  116 +
 fs/dlm/memory.h                    |   29 
 fs/dlm/midcomms.c                  |  140 +
 fs/dlm/midcomms.h                  |   21 
 fs/dlm/rcom.c                      |  471 ++++
 fs/dlm/rcom.h                      |   24 
 fs/dlm/recover.c                   |  776 +++++++
 fs/dlm/recover.h                   |   34 
 fs/dlm/recoverd.c                  |  286 ++
 fs/dlm/recoverd.h                  |   24 
 fs/dlm/requestqueue.c              |  184 +
 fs/dlm/requestqueue.h              |   22 
 fs/dlm/user.c                      |  785 +++++++
 fs/dlm/user.h                      |   16 
 fs/dlm/util.c                      |  161 +
 fs/dlm/util.h                      |   22 
 fs/gfs2/Kconfig                    |   44 
 fs/gfs2/Makefile                   |   10 
 fs/gfs2/acl.c                      |  313 +++
 fs/gfs2/acl.h                      |   37 
 fs/gfs2/bmap.c                     | 1236 +++++++++++
 fs/gfs2/bmap.h                     |   27 
 fs/gfs2/daemon.c                   |  196 +
 fs/gfs2/daemon.h                   |   19 
 fs/gfs2/dir.c                      | 1976 +++++++++++++++++++
 fs/gfs2/dir.h                      |   73 
 fs/gfs2/eaops.c                    |  230 ++
 fs/gfs2/eaops.h                    |   29 
 fs/gfs2/eattr.c                    | 1548 ++++++++++++++
 fs/gfs2/eattr.h                    |   97 
 fs/gfs2/format.h                   |   21 
 fs/gfs2/gfs2.h                     |   31 
 fs/gfs2/glock.c                    | 2282 +++++++++++++++++++++
 fs/gfs2/glock.h                    |  152 +
 fs/gfs2/glops.c                    |  564 +++++
 fs/gfs2/glops.h                    |   23 
 fs/gfs2/incore.h                   |  659 ++++++
 fs/gfs2/inode.c                    | 1344 ++++++++++++
 fs/gfs2/inode.h                    |   56 
 fs/gfs2/lm.c                       |  244 ++
 fs/gfs2/lm.h                       |   41 
 fs/gfs2/lm_interface.h             |  290 ++
 fs/gfs2/locking.c                  |  191 +
 fs/gfs2/locking/dlm/Makefile       |    3 
 fs/gfs2/locking/dlm/lock.c         |  541 +++++
 fs/gfs2/locking/dlm/lock_dlm.h     |  188 +
 fs/gfs2/locking/dlm/main.c         |   64 
 fs/gfs2/locking/dlm/mount.c        |  256 ++
 fs/gfs2/locking/dlm/plock.c        |  302 ++
 fs/gfs2/locking/dlm/sysfs.c        |  225 ++
 fs/gfs2/locking/dlm/thread.c       |  359 +++
 fs/gfs2/locking/nolock/Makefile    |    3 
 fs/gfs2/locking/nolock/main.c      |  259 ++
 fs/gfs2/log.c                      |  601 +++++
 fs/gfs2/log.h                      |   61 
 fs/gfs2/lops.c                     |  800 +++++++
 fs/gfs2/lops.h                     |   96 
 fs/gfs2/lvb.c                      |   45 
 fs/gfs2/lvb.h                      |   19 
 fs/gfs2/main.c                     |  127 +
 fs/gfs2/meta_io.c                  |  780 +++++++
 fs/gfs2/meta_io.h                  |   74 
 fs/gfs2/mount.c                    |  214 ++
 fs/gfs2/mount.h                    |   15 
 fs/gfs2/ondisk.c                   |  308 ++
 fs/gfs2/ops_address.c              |  797 +++++++
 fs/gfs2/ops_address.h              |   18 
 fs/gfs2/ops_dentry.c               |  123 +
 fs/gfs2/ops_dentry.h               |   15 
 fs/gfs2/ops_export.c               |  293 ++
 fs/gfs2/ops_export.h               |   19 
 fs/gfs2/ops_file.c                 |  812 +++++++
 fs/gfs2/ops_file.h                 |   20 
 fs/gfs2/ops_fstype.c               |  840 ++++++++
 fs/gfs2/ops_fstype.h               |   16 
 fs/gfs2/ops_inode.c                | 1165 +++++++++++
 fs/gfs2/ops_inode.h                |   18 
 fs/gfs2/ops_super.c                |  471 ++++
 fs/gfs2/ops_super.h                |   15 
 fs/gfs2/ops_vm.c                   |  188 +
 fs/gfs2/ops_vm.h                   |   16 
 fs/gfs2/quota.c                    | 1286 ++++++++++++
 fs/gfs2/quota.h                    |   32 
 fs/gfs2/recovery.c                 |  573 +++++
 fs/gfs2/recovery.h                 |   32 
 fs/gfs2/rgrp.c                     | 1528 ++++++++++++++
 fs/gfs2/rgrp.h                     |   62 
 fs/gfs2/super.c                    |  979 +++++++++
 fs/gfs2/super.h                    |   52 
 fs/gfs2/sys.c                      |  579 +++++
 fs/gfs2/sys.h                      |   24 
 fs/gfs2/trans.c                    |  184 +
 fs/gfs2/trans.h                    |   34 
 fs/gfs2/util.c                     |  245 ++
 fs/gfs2/util.h                     |  169 +
 include/linux/Kbuild               |   33 
 include/linux/dlm.h                |  302 ++
 include/linux/dlm_device.h         |   86 
 include/linux/fs.h                 |    3 
 include/linux/gfs2_ondisk.h        |  443 ++++
 include/linux/iflags.h             |  102 
 include/linux/kernel.h             |    1 
 include/linux/lock_dlm_plock.h     |   41 
 mm/filemap.c                       |    3 
 mm/readahead.c                     |    1 
 131 files changed, 40684 insertions(+), 21 deletions(-)

Index: linux-2.6-gfs2-dlm.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-gfs2-dlm.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- linux-2.6-gfs2-dlm.patch	10 Aug 2006 17:47:25 -0000	1.13
+++ linux-2.6-gfs2-dlm.patch	11 Aug 2006 22:22:53 -0000	1.14
@@ -7333,7 +7333,7 @@
 +
 diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
 new file mode 100644
-index 0000000..7ab4042
+index 0000000..23f5ce1
 --- /dev/null
 +++ b/fs/dlm/lowcomms.c
 @@ -0,0 +1,1238 @@
@@ -8273,11 +8273,11 @@
 +			break;
 +		e = list_entry(ni->writequeue.next, struct writequeue_entry,
 +			       list);
-+		kmap(e->page);
 +		len = e->len;
 +		offset = e->offset;
 +		BUG_ON(len == 0 && e->users == 0);
 +		spin_unlock(&ni->writequeue_lock);
++		kmap(e->page);
 +
 +		ret = 0;
 +		if (len) {
@@ -18289,10 +18289,10 @@
 +
 diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
 new file mode 100644
-index 0000000..b6edf7c
+index 0000000..a5e16e5
 --- /dev/null
 +++ b/fs/gfs2/glock.c
-@@ -0,0 +1,2279 @@
+@@ -0,0 +1,2282 @@
 +/*
 + * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
 + * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
@@ -20462,7 +20462,9 @@
 +
 +	spin_lock(&gl->gl_spin);
 +
-+	printk(KERN_INFO "Glock (%u, %llu)\n", gl->gl_name.ln_type,
++	printk(KERN_INFO "Glock 0x%p (%u, %llu)\n",
++	       gl,
++	       gl->gl_name.ln_type,
 +	       (unsigned long long)gl->gl_name.ln_number);
 +	printk(KERN_INFO "  gl_flags =");
 +	for (x = 0; x < 32; x++)
@@ -20482,8 +20484,9 @@
 +	printk(KERN_INFO "  reclaim = %s\n",
 +		    (list_empty(&gl->gl_reclaim)) ? "no" : "yes");
 +	if (gl->gl_aspace)
-+		printk(KERN_INFO "  aspace = %lu\n",
-+			    gl->gl_aspace->i_mapping->nrpages);
++		printk(KERN_INFO "  aspace = 0x%p nrpages = %lu\n",
++		       gl->gl_aspace,
++		       gl->gl_aspace->i_mapping->nrpages);
 +	else
 +		printk(KERN_INFO "  aspace = no\n");
 +	printk(KERN_INFO "  ail = %d\n", atomic_read(&gl->gl_ail_count));
@@ -31815,10 +31818,10 @@
 +#endif /* __OPS_FILE_DOT_H__ */
 diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
 new file mode 100644
-index 0000000..de18923
+index 0000000..4440009
 --- /dev/null
 +++ b/fs/gfs2/ops_fstype.c
-@@ -0,0 +1,836 @@
+@@ -0,0 +1,840 @@
 +/*
 + * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
 + * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
@@ -32100,6 +32103,10 @@
 +	int error = 0;
 +
 +	if (undo) {
++		if (sb->s_root) {
++			dput(sb->s_root);
++			sb->s_root = NULL;
++		}
 +		return 0;
 +	}
 +	
@@ -35918,10 +35925,10 @@
 +#endif /* __QUOTA_DOT_H__ */
 diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
 new file mode 100644
-index 0000000..bbd44a4
+index 0000000..8fe518c
 --- /dev/null
 +++ b/fs/gfs2/recovery.c
-@@ -0,0 +1,572 @@
+@@ -0,0 +1,573 @@
 +/*
 + * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
 + * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
@@ -36249,6 +36256,7 @@
 +			error = get_log_header(jd, start, &lh);
 +			if (!error) {
 +				gfs2_replay_incr_blk(sdp, &start);
++				brelse(bh);
 +				continue;
 +			}
 +			if (error == 1) {
@@ -36320,7 +36328,7 @@
 +	lh = (struct gfs2_log_header *)bh->b_data;
 +	memset(lh, 0, sizeof(struct gfs2_log_header));
 +	lh->lh_header.mh_magic = cpu_to_be32(GFS2_MAGIC);
-+	lh->lh_header.mh_type = cpu_to_be16(GFS2_METATYPE_LH);
++	lh->lh_header.mh_type = cpu_to_be32(GFS2_METATYPE_LH);
 +	lh->lh_header.mh_format = cpu_to_be32(GFS2_FORMAT_LH);
 +	lh->lh_sequence = cpu_to_be64(head->lh_sequence + 1);
 +	lh->lh_flags = cpu_to_be32(GFS2_LOG_HEAD_UNMOUNT);




More information about the fedora-cvs-commits mailing list