ocfs2: Free up some space in the lvb
authorMark Fasheh <mark.fasheh@oracle.com>
Tue, 12 Sep 2006 22:22:18 +0000 (15:22 -0700)
committerMark Fasheh <mark.fasheh@oracle.com>
Sun, 24 Sep 2006 20:50:45 +0000 (13:50 -0700)
lvb_version doesn't need to be a whole 32 bits. Make it an 8 bit field to
free up some space. This should be backwards compatible until we use one of
the fields, in which case we'd bump the lvb version anyway.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/dlmglue.c
fs/ocfs2/dlmglue.h

index 764d15d..f80fb14 100644 (file)
@@ -1413,7 +1413,7 @@ static void __ocfs2_stuff_meta_lvb(struct inode *inode)
 
        lvb = (struct ocfs2_meta_lvb *) lockres->l_lksb.lvb;
 
-       lvb->lvb_version   = cpu_to_be32(OCFS2_LVB_VERSION);
+       lvb->lvb_version   = OCFS2_LVB_VERSION;
        lvb->lvb_isize     = cpu_to_be64(i_size_read(inode));
        lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
        lvb->lvb_iuid      = cpu_to_be32(inode->i_uid);
@@ -1486,7 +1486,7 @@ static inline int ocfs2_meta_lvb_is_trustable(struct ocfs2_lock_res *lockres)
 {
        struct ocfs2_meta_lvb *lvb = (struct ocfs2_meta_lvb *) lockres->l_lksb.lvb;
 
-       if (be32_to_cpu(lvb->lvb_version) == OCFS2_LVB_VERSION)
+       if (lvb->lvb_version == OCFS2_LVB_VERSION)
                return 1;
        return 0;
 }
@@ -3167,7 +3167,7 @@ void ocfs2_dump_meta_lvb_info(u64 level,
        mlog(level, "LVB information for %s (called from %s:%u):\n",
             lockres->l_name, function, line);
        mlog(level, "version: %u, clusters: %u\n",
-            be32_to_cpu(lvb->lvb_version), be32_to_cpu(lvb->lvb_iclusters));
+            lvb->lvb_version, be32_to_cpu(lvb->lvb_iclusters));
        mlog(level, "size: %llu, uid %u, gid %u, mode 0x%x\n",
             (unsigned long long)be64_to_cpu(lvb->lvb_isize),
             be32_to_cpu(lvb->lvb_iuid), be32_to_cpu(lvb->lvb_igid),
index 3402515..3476a16 100644 (file)
@@ -32,7 +32,9 @@
 #define OCFS2_LVB_VERSION 3
 
 struct ocfs2_meta_lvb {
-       __be32       lvb_version;
+       __be16       lvb_reserved0;
+       __u8         lvb_reserved1;
+       __u8         lvb_version;
        __be32       lvb_iclusters;
        __be32       lvb_iuid;
        __be32       lvb_igid;