diff --git a/fs/gfs2/Makefile b/fs/gfs2/Makefile
index b92852b..e3f1ada 100644
--- a/fs/gfs2/Makefile
+++ b/fs/gfs2/Makefile
@@ -1,6 +1,6 @@
 obj-$(CONFIG_GFS2_FS) += gfs2.o
 gfs2-y := acl.o bmap.o daemon.o dir.o eaops.o eattr.o glock.o \
-	glops.o inode.o lm.o log.o lops.o locking.o lvb.o main.o meta_io.o \
+	glops.o inode.o lm.o log.o lops.o locking.o main.o meta_io.o \
 	mount.o ondisk.o ops_address.o ops_dentry.o ops_export.o ops_file.o \
 	ops_fstype.o ops_inode.o ops_super.o ops_vm.o quota.o \
 	recovery.o rgrp.o super.o sys.o trans.o util.o
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index 3993178..60c98c0 100644
--- a/fs/gfs2/acl.c
+++ b/fs/gfs2/acl.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/acl.h b/fs/gfs2/acl.h
index 0671057..5856ba7 100644
--- a/fs/gfs2/acl.h
+++ b/fs/gfs2/acl.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __ACL_DOT_H__
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index d20d41e..913c0e5 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/bmap.h b/fs/gfs2/bmap.h
index 1a26541..ab0157c 100644
--- a/fs/gfs2/bmap.h
+++ b/fs/gfs2/bmap.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __BMAP_DOT_H__
diff --git a/fs/gfs2/daemon.c b/fs/gfs2/daemon.c
index 1453605..a2a07c4 100644
--- a/fs/gfs2/daemon.c
+++ b/fs/gfs2/daemon.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/daemon.h b/fs/gfs2/daemon.h
index aa93eb6..80100712 100644
--- a/fs/gfs2/daemon.h
+++ b/fs/gfs2/daemon.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __DAEMON_DOT_H__
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index 76a23c1..7b8a38e 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/dir.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 /*
diff --git a/fs/gfs2/dir.h b/fs/gfs2/dir.h
index 1734030..366a557 100644
--- a/fs/gfs2/dir.h
+++ b/fs/gfs2/dir.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __DIR_DOT_H__
diff --git a/fs/gfs2/eaops.c b/fs/gfs2/eaops.c
index 3ace242..3b8749c 100644
--- a/fs/gfs2/eaops.c
+++ b/fs/gfs2/eaops.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/eaops.h b/fs/gfs2/eaops.h
index 3dece17..1c27700 100644
--- a/fs/gfs2/eaops.h
+++ b/fs/gfs2/eaops.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __EAOPS_DOT_H__
diff --git a/fs/gfs2/eattr.c b/fs/gfs2/eattr.c
index 967369322..9081822 100644
--- a/fs/gfs2/eattr.c
+++ b/fs/gfs2/eattr.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/eattr.h b/fs/gfs2/eattr.h
index ae19969..7b0291f 100644
--- a/fs/gfs2/eattr.h
+++ b/fs/gfs2/eattr.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __EATTR_DOT_H__
diff --git a/fs/gfs2/format.h b/fs/gfs2/format.h
index 239f0c3..9acbf45 100644
--- a/fs/gfs2/format.h
+++ b/fs/gfs2/format.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __FORMAT_DOT_H__
diff --git a/fs/gfs2/gfs2.h b/fs/gfs2/gfs2.h
index 6edbd55..3bb11c0 100644
--- a/fs/gfs2/gfs2.h
+++ b/fs/gfs2/gfs2.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __GFS2_DOT_H__
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index b8ccb27..989f4f7 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h
index 75fad63..07a8d02 100644
--- a/fs/gfs2/glock.h
+++ b/fs/gfs2/glock.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __GLOCK_DOT_H__
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 1a30fa9..8e1d8ee 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/glops.h b/fs/gfs2/glops.h
index 9409f0a..ba943e4 100644
--- a/fs/gfs2/glops.h
+++ b/fs/gfs2/glops.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __GLOPS_DOT_H__
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 362c242..06f5ec6 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __INCORE_DOT_H__
@@ -22,24 +22,12 @@
 
 struct gfs2_log_operations;
 struct gfs2_log_element;
-struct gfs2_bitmap;
-struct gfs2_rgrpd;
-struct gfs2_bufdata;
-struct gfs2_glock_operations;
 struct gfs2_holder;
 struct gfs2_glock;
-struct gfs2_alloc;
-struct gfs2_inode;
-struct gfs2_file;
-struct gfs2_revoke;
-struct gfs2_revoke_replay;
 struct gfs2_quota_data;
-struct gfs2_log_buf;
 struct gfs2_trans;
 struct gfs2_ail;
 struct gfs2_jdesc;
-struct gfs2_args;
-struct gfs2_tune;
 struct gfs2_gl_hash_bucket;
 struct gfs2_sbd;
 
@@ -215,8 +203,8 @@
 struct gfs2_alloc {
 	/* Quota stuff */
 
-	struct gfs2_quota_data *al_qd[4];
-	struct gfs2_holder al_qd_ghs[4];
+	struct gfs2_quota_data *al_qd[2*MAXQUOTAS];
+	struct gfs2_holder al_qd_ghs[2*MAXQUOTAS];
 	unsigned int al_qd_num;
 
 	u32 al_requested; /* Filled in by caller of gfs2_inplace_reserve() */
@@ -305,11 +293,11 @@
 };
 
 struct gfs2_quota_lvb {
-        uint32_t qb_magic;
-        uint32_t __pad;
-        uint64_t qb_limit;      /* Hard limit of # blocks to alloc */
-        uint64_t qb_warn;       /* Warn user when alloc is above this # */
-        int64_t qb_value;       /* Current # blocks allocated */
+        __be32 qb_magic;
+        u32 __pad;
+        __be64 qb_limit;      /* Hard limit of # blocks to alloc */
+        __be64 qb_warn;       /* Warn user when alloc is above this # */
+        __be64 qb_value;       /* Current # blocks allocated */
 };
 
 struct gfs2_quota_data {
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 9fb3409..decb0cf 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h
index 8bb8b55..32015d8 100644
--- a/fs/gfs2/inode.h
+++ b/fs/gfs2/inode.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __INODE_DOT_H__
diff --git a/fs/gfs2/lm.c b/fs/gfs2/lm.c
index f45c0ff..1a9e75d 100644
--- a/fs/gfs2/lm.c
+++ b/fs/gfs2/lm.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
@@ -22,7 +22,6 @@
 #include "lm.h"
 #include "super.h"
 #include "util.h"
-#include "lvb.h"
 
 /**
  * gfs2_lm_mount - mount a locking protocol
diff --git a/fs/gfs2/lm.h b/fs/gfs2/lm.h
index e821101..15839aa 100644
--- a/fs/gfs2/lm.h
+++ b/fs/gfs2/lm.h
@@ -4,12 +4,14 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __LM_DOT_H__
 #define __LM_DOT_H__
 
+#define GFS2_MIN_LVB_SIZE 32
+
 int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent);
 void gfs2_lm_others_may_mount(struct gfs2_sbd *sdp);
 void gfs2_lm_unmount(struct gfs2_sbd *sdp);
diff --git a/fs/gfs2/lm_interface.h b/fs/gfs2/lm_interface.h
index 1da95a5..e1e89d9 100644
--- a/fs/gfs2/lm_interface.h
+++ b/fs/gfs2/lm_interface.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __LM_INTERFACE_DOT_H__
diff --git a/fs/gfs2/locking.c b/fs/gfs2/locking.c
index ded1ef6..11c4068 100644
--- a/fs/gfs2/locking.c
+++ b/fs/gfs2/locking.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/module.h>
diff --git a/fs/gfs2/locking/dlm/lock.c b/fs/gfs2/locking/dlm/lock.c
index f769eac..2d81d90 100644
--- a/fs/gfs2/locking/dlm/lock.c
+++ b/fs/gfs2/locking/dlm/lock.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include "lock_dlm.h"
diff --git a/fs/gfs2/locking/dlm/lock_dlm.h b/fs/gfs2/locking/dlm/lock_dlm.h
index 530c2f5..9410634 100644
--- a/fs/gfs2/locking/dlm/lock_dlm.h
+++ b/fs/gfs2/locking/dlm/lock_dlm.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef LOCK_DLM_DOT_H
diff --git a/fs/gfs2/locking/dlm/main.c b/fs/gfs2/locking/dlm/main.c
index 870a1cd..2194b1d 100644
--- a/fs/gfs2/locking/dlm/main.c
+++ b/fs/gfs2/locking/dlm/main.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/init.h>
diff --git a/fs/gfs2/locking/dlm/mount.c b/fs/gfs2/locking/dlm/mount.c
index 3caeafc..f279385 100644
--- a/fs/gfs2/locking/dlm/mount.c
+++ b/fs/gfs2/locking/dlm/mount.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include "lock_dlm.h"
diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c
index 1acb251..263636b 100644
--- a/fs/gfs2/locking/dlm/plock.c
+++ b/fs/gfs2/locking/dlm/plock.c
@@ -3,7 +3,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/miscdevice.h>
diff --git a/fs/gfs2/locking/dlm/sysfs.c b/fs/gfs2/locking/dlm/sysfs.c
index 0d8bd08..82bef01 100644
--- a/fs/gfs2/locking/dlm/sysfs.c
+++ b/fs/gfs2/locking/dlm/sysfs.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/ctype.h>
diff --git a/fs/gfs2/locking/dlm/thread.c b/fs/gfs2/locking/dlm/thread.c
index 489235b..0b4be10 100644
--- a/fs/gfs2/locking/dlm/thread.c
+++ b/fs/gfs2/locking/dlm/thread.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include "lock_dlm.h"
diff --git a/fs/gfs2/locking/nolock/main.c b/fs/gfs2/locking/nolock/main.c
index 748aa5d..95a2991 100644
--- a/fs/gfs2/locking/nolock/main.c
+++ b/fs/gfs2/locking/nolock/main.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/module.h>
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index af728cb..45ea3ec 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/log.h b/fs/gfs2/log.h
index 8cfd0f1..80764e3 100644
--- a/fs/gfs2/log.h
+++ b/fs/gfs2/log.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __LOG_DOT_H__
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index 0ec38b3..e2c2582 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h
index 8a1029d..2e3365c 100644
--- a/fs/gfs2/lops.h
+++ b/fs/gfs2/lops.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __LOPS_DOT_H__
diff --git a/fs/gfs2/lvb.c b/fs/gfs2/lvb.c
deleted file mode 100644
index e88e9cc..0000000
--- a/fs/gfs2/lvb.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
- * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/spinlock.h>
-#include <linux/completion.h>
-#include <linux/buffer_head.h>
-#include <linux/gfs2_ondisk.h>
-
-#include "gfs2.h"
-#include "lm_interface.h"
-#include "incore.h"
-#include "lvb.h"
-
-#define pv(struct, member, fmt) printk(KERN_INFO "  "#member" = "fmt"\n", \
-				       struct->member);
-
-void gfs2_quota_lvb_in(struct gfs2_quota_lvb *qb, char *lvb)
-{
-	struct gfs2_quota_lvb *str = (struct gfs2_quota_lvb *)lvb;
-
-	qb->qb_magic = be32_to_cpu(str->qb_magic);
-	qb->qb_limit = be64_to_cpu(str->qb_limit);
-	qb->qb_warn  = be64_to_cpu(str->qb_warn);
-	qb->qb_value = be64_to_cpu(str->qb_value);
-}
-
-void gfs2_quota_lvb_out(struct gfs2_quota_lvb *qb, char *lvb)
-{
-	struct gfs2_quota_lvb *str = (struct gfs2_quota_lvb *)lvb;
-
-	str->qb_magic = cpu_to_be32(qb->qb_magic);
-	str->qb_limit = cpu_to_be64(qb->qb_limit);
-	str->qb_warn  = cpu_to_be64(qb->qb_warn);
-	str->qb_value = cpu_to_be64(qb->qb_value);
-}
-
-
diff --git a/fs/gfs2/lvb.h b/fs/gfs2/lvb.h
deleted file mode 100644
index 1b1a8b7..0000000
--- a/fs/gfs2/lvb.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
- * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#ifndef __LVB_DOT_H__
-#define __LVB_DOT_H__
-
-#define GFS2_MIN_LVB_SIZE 32
-
-void gfs2_quota_lvb_in(struct gfs2_quota_lvb *qb, char *lvb);
-void gfs2_quota_lvb_out(struct gfs2_quota_lvb *qb, char *lvb);
-
-#endif /* __LVB_DOT_H__ */
-
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
index dccc4f6..b46f400 100644
--- a/fs/gfs2/main.c
+++ b/fs/gfs2/main.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 502864b..03850b6 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/meta_io.h b/fs/gfs2/meta_io.h
index 951814e..4ddc936 100644
--- a/fs/gfs2/meta_io.h
+++ b/fs/gfs2/meta_io.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __DIO_DOT_H__
diff --git a/fs/gfs2/mount.c b/fs/gfs2/mount.c
index 0d4b230..b660278 100644
--- a/fs/gfs2/mount.c
+++ b/fs/gfs2/mount.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/mount.h b/fs/gfs2/mount.h
index 2eb1472..8a21897 100644
--- a/fs/gfs2/mount.h
+++ b/fs/gfs2/mount.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __MOUNT_DOT_H__
diff --git a/fs/gfs2/ondisk.c b/fs/gfs2/ondisk.c
index 39c7f03..03881f9 100644
--- a/fs/gfs2/ondisk.c
+++ b/fs/gfs2/ondisk.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 0de7a95..21ae9e4 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_address.h b/fs/gfs2/ops_address.h
index dfc3dda..6c07aa2 100644
--- a/fs/gfs2/ops_address.h
+++ b/fs/gfs2/ops_address.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_ADDRESS_DOT_H__
diff --git a/fs/gfs2/ops_dentry.c b/fs/gfs2/ops_dentry.c
index fd55979..a1ba1ec 100644
--- a/fs/gfs2/ops_dentry.c
+++ b/fs/gfs2/ops_dentry.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_dentry.h b/fs/gfs2/ops_dentry.h
index 1b6e75c..e7b05e5 100644
--- a/fs/gfs2/ops_dentry.h
+++ b/fs/gfs2/ops_dentry.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_DENTRY_DOT_H__
diff --git a/fs/gfs2/ops_export.c b/fs/gfs2/ops_export.c
index 6354f47..c94cbc8 100644
--- a/fs/gfs2/ops_export.c
+++ b/fs/gfs2/ops_export.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_export.h b/fs/gfs2/ops_export.h
index 09fc077..d52c2d9 100644
--- a/fs/gfs2/ops_export.h
+++ b/fs/gfs2/ops_export.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_EXPORT_DOT_H__
diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c
index 145a29f..07a0c86 100644
--- a/fs/gfs2/ops_file.c
+++ b/fs/gfs2/ops_file.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_file.h b/fs/gfs2/ops_file.h
index 46302b5..064e52c 100644
--- a/fs/gfs2/ops_file.h
+++ b/fs/gfs2/ops_file.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_FILE_DOT_H__
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index e5a91ea..46f910e 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_fstype.h b/fs/gfs2/ops_fstype.h
index 622f576..b85ecce 100644
--- a/fs/gfs2/ops_fstype.h
+++ b/fs/gfs2/ops_fstype.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_FSTYPE_DOT_H__
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
index 8fb7c5c..1786a48 100644
--- a/fs/gfs2/ops_inode.c
+++ b/fs/gfs2/ops_inode.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_inode.h b/fs/gfs2/ops_inode.h
index 930aaae..6f4b547 100644
--- a/fs/gfs2/ops_inode.h
+++ b/fs/gfs2/ops_inode.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_INODE_DOT_H__
diff --git a/fs/gfs2/ops_super.c b/fs/gfs2/ops_super.c
index 18ed18c..6ced712 100644
--- a/fs/gfs2/ops_super.c
+++ b/fs/gfs2/ops_super.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_super.h b/fs/gfs2/ops_super.h
index a15ccc2..cbc4f73 100644
--- a/fs/gfs2/ops_super.h
+++ b/fs/gfs2/ops_super.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_SUPER_DOT_H__
diff --git a/fs/gfs2/ops_vm.c b/fs/gfs2/ops_vm.c
index 875a769..451f48d 100644
--- a/fs/gfs2/ops_vm.c
+++ b/fs/gfs2/ops_vm.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/ops_vm.h b/fs/gfs2/ops_vm.h
index 077cffc..d5ba4b9 100644
--- a/fs/gfs2/ops_vm.h
+++ b/fs/gfs2/ops_vm.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __OPS_VM_DOT_H__
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 3ca65c3..be87983 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 /*
@@ -52,7 +52,6 @@
 #include "glock.h"
 #include "glops.h"
 #include "log.h"
-#include "lvb.h"
 #include "meta_io.h"
 #include "quota.h"
 #include "rgrp.h"
@@ -586,7 +585,7 @@
 	struct page *page;
 	void *kaddr;
 	__be64 *ptr;
-	u64 value;
+	s64 value;
 	int err = -EIO;
 
 	page = grab_cache_page(mapping, index);
@@ -627,7 +626,8 @@
 
 	kaddr = kmap_atomic(page, KM_USER0);
 	ptr = (__be64 *)(kaddr + offset);
-	value = *ptr = cpu_to_be64(be64_to_cpu(*ptr) + change);
+	value = (s64)be64_to_cpu(*ptr) + change;
+	*ptr = cpu_to_be64(value);
 	flush_dcache_page(page);
 	kunmap_atomic(kaddr, KM_USER0);
 	err = 0;
@@ -761,6 +761,7 @@
 	char buf[sizeof(struct gfs2_quota)];
 	struct file_ra_state ra_state;
 	int error;
+	struct gfs2_quota_lvb *qlvb;
 
 	file_ra_state_init(&ra_state, sdp->sd_quota_inode->i_mapping);
  restart:
@@ -768,9 +769,9 @@
 	if (error)
 		return error;
 
-	gfs2_quota_lvb_in(&qd->qd_qb, qd->qd_gl->gl_lvb);
+	qd->qd_qb = *(struct gfs2_quota_lvb *)qd->qd_gl->gl_lvb;
 
-	if (force_refresh || qd->qd_qb.qb_magic != GFS2_MAGIC) {
+	if (force_refresh || qd->qd_qb.qb_magic != cpu_to_be32(GFS2_MAGIC)) {
 		loff_t pos;
 		gfs2_glock_dq_uninit(q_gh);
 		error = gfs2_glock_nq_init(qd->qd_gl,
@@ -779,9 +780,7 @@
 		if (error)
 			return error;
 
-		error = gfs2_glock_nq_init(ip->i_gl,
-					  LM_ST_SHARED, 0,
-					  &i_gh);
+		error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, 0, &i_gh);
 		if (error)
 			goto fail;
 
@@ -794,15 +793,15 @@
 
 		gfs2_glock_dq_uninit(&i_gh);
 
+		
 		gfs2_quota_in(&q, buf);
-
-		memset(&qd->qd_qb, 0, sizeof(struct gfs2_quota_lvb));
-		qd->qd_qb.qb_magic = GFS2_MAGIC;
-		qd->qd_qb.qb_limit = q.qu_limit;
-		qd->qd_qb.qb_warn = q.qu_warn;
-		qd->qd_qb.qb_value = q.qu_value;
-
-		gfs2_quota_lvb_out(&qd->qd_qb, qd->qd_gl->gl_lvb);
+		qlvb = (struct gfs2_quota_lvb *)qd->qd_gl->gl_lvb;
+		qlvb->qb_magic = cpu_to_be32(GFS2_MAGIC);
+		qlvb->__pad = 0;
+		qlvb->qb_limit = cpu_to_be64(q.qu_limit);
+		qlvb->qb_warn = cpu_to_be64(q.qu_warn);
+		qlvb->qb_value = cpu_to_be64(q.qu_value);
+		qd->qd_qb = *qlvb;
 
 		if (gfs2_glock_is_blocking(qd->qd_gl)) {
 			gfs2_glock_dq_uninit(q_gh);
@@ -877,13 +876,14 @@
 
 	if (value < 0)
 		do_sync = 0;
-	else if (qd->qd_qb.qb_value >= (int64_t)qd->qd_qb.qb_limit)
+	else if ((s64)be64_to_cpu(qd->qd_qb.qb_value) >=
+		 (s64)be64_to_cpu(qd->qd_qb.qb_limit))
 		do_sync = 0;
 	else {
 		value *= gfs2_jindex_size(sdp) * num;
 		do_div(value, den);
-		value += qd->qd_qb.qb_value;
-		if (value < (int64_t)qd->qd_qb.qb_limit)
+		value += (s64)be64_to_cpu(qd->qd_qb.qb_value);
+		if (value < (int64_t)be64_to_cpu(qd->qd_qb.qb_limit))
 			do_sync = 0;
 	}
 
@@ -959,17 +959,17 @@
 		      (qd->qd_id == gid && !test_bit(QDF_USER, &qd->qd_flags))))
 			continue;
 
-		value = qd->qd_qb.qb_value;
+		value = (s64)be64_to_cpu(qd->qd_qb.qb_value);
 		spin_lock(&sdp->sd_quota_spin);
 		value += qd->qd_change;
 		spin_unlock(&sdp->sd_quota_spin);
 
-		if (qd->qd_qb.qb_limit && (int64_t)qd->qd_qb.qb_limit < value) {
+		if (be64_to_cpu(qd->qd_qb.qb_limit) && (int64_t)be64_to_cpu(qd->qd_qb.qb_limit) < value) {
 			print_message(qd, "exceeded");
 			error = -EDQUOT;
 			break;
-		} else if (qd->qd_qb.qb_warn &&
-			   (int64_t)qd->qd_qb.qb_warn < value &&
+		} else if (be64_to_cpu(qd->qd_qb.qb_warn) &&
+			   (int64_t)be64_to_cpu(qd->qd_qb.qb_warn) < value &&
 			   time_after_eq(jiffies, qd->qd_last_warn +
 					 gfs2_tune_get(sdp,
 						gt_quota_warn_period) * HZ)) {
@@ -1088,9 +1088,9 @@
 		goto out;
 
 	memset(q, 0, sizeof(struct gfs2_quota));
-	q->qu_limit = qd->qd_qb.qb_limit;
-	q->qu_warn = qd->qd_qb.qb_warn;
-	q->qu_value = qd->qd_qb.qb_value;
+	q->qu_limit = be64_to_cpu(qd->qd_qb.qb_limit);
+	q->qu_warn = be64_to_cpu(qd->qd_qb.qb_warn);
+	q->qu_value = be64_to_cpu(qd->qd_qb.qb_value);
 
 	spin_lock(&sdp->sd_quota_spin);
 	q->qu_value += qd->qd_change;
diff --git a/fs/gfs2/quota.h b/fs/gfs2/quota.h
index af05492..6702a56 100644
--- a/fs/gfs2/quota.h
+++ b/fs/gfs2/quota.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __QUOTA_DOT_H__
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index 8fe518c..acafe4b 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/recovery.h b/fs/gfs2/recovery.h
index ac0f1d6..bed1a78 100644
--- a/fs/gfs2/recovery.h
+++ b/fs/gfs2/recovery.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __RECOVERY_DOT_H__
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 84fcc1b..62d0a84 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/rgrp.h b/fs/gfs2/rgrp.h
index 1460094..f94761b 100644
--- a/fs/gfs2/rgrp.h
+++ b/fs/gfs2/rgrp.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __RGRP_DOT_H__
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 3c318a9..2cf2802 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/super.h b/fs/gfs2/super.h
index df24952..4a6ce95 100644
--- a/fs/gfs2/super.h
+++ b/fs/gfs2/super.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __SUPER_DOT_H__
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index 3c4cb45..3ffa885 100644
--- a/fs/gfs2/sys.c
+++ b/fs/gfs2/sys.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/sys.h b/fs/gfs2/sys.h
index c46a700..f8c01b5 100644
--- a/fs/gfs2/sys.h
+++ b/fs/gfs2/sys.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __SYS_DOT_H__
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c
index 05e0b72..8e18e63 100644
--- a/fs/gfs2/trans.c
+++ b/fs/gfs2/trans.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/trans.h b/fs/gfs2/trans.h
index fbef3f5..9e3ce84 100644
--- a/fs/gfs2/trans.h
+++ b/fs/gfs2/trans.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __TRANS_DOT_H__
diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c
index 39e67b1..2852431 100644
--- a/fs/gfs2/util.c
+++ b/fs/gfs2/util.c
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #include <linux/sched.h>
diff --git a/fs/gfs2/util.h b/fs/gfs2/util.h
index 8216d28..60b3703 100644
--- a/fs/gfs2/util.h
+++ b/fs/gfs2/util.h
@@ -4,7 +4,7 @@
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
+ * of the GNU General Public License version 2.
  */
 
 #ifndef __UTIL_DOT_H__
