[PATCH] ufs endianness annotations
Al Viro [Sun, 13 Aug 2006 05:54:30 +0000 (01:54 -0400)]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

fs/ufs/util.c
include/linux/ufs_fs.h

index 22f820a..1743757 100644 (file)
@@ -184,14 +184,13 @@ void _ubh_memcpyubh_(struct ufs_sb_private_info * uspi,
 dev_t
 ufs_get_inode_dev(struct super_block *sb, struct ufs_inode_info *ufsi)
 {
-       __fs32 fs32;
+       __u32 fs32;
        dev_t dev;
 
        if ((UFS_SB(sb)->s_flags & UFS_ST_MASK) == UFS_ST_SUNx86)
-               fs32 = ufsi->i_u1.i_data[1];
+               fs32 = fs32_to_cpu(sb, ufsi->i_u1.i_data[1]);
        else
-               fs32 = ufsi->i_u1.i_data[0];
-       fs32 = fs32_to_cpu(sb, fs32);
+               fs32 = fs32_to_cpu(sb, ufsi->i_u1.i_data[0]);
        switch (UFS_SB(sb)->s_flags & UFS_ST_MASK) {
        case UFS_ST_SUNx86:
        case UFS_ST_SUN:
@@ -212,7 +211,7 @@ ufs_get_inode_dev(struct super_block *sb, struct ufs_inode_info *ufsi)
 void
 ufs_set_inode_dev(struct super_block *sb, struct ufs_inode_info *ufsi, dev_t dev)
 {
-       __fs32 fs32;
+       __u32 fs32;
 
        switch (UFS_SB(sb)->s_flags & UFS_ST_MASK) {
        case UFS_ST_SUNx86:
@@ -227,11 +226,10 @@ ufs_set_inode_dev(struct super_block *sb, struct ufs_inode_info *ufsi, dev_t dev
                fs32 = old_encode_dev(dev);
                break;
        }
-       fs32 = cpu_to_fs32(sb, fs32);
        if ((UFS_SB(sb)->s_flags & UFS_ST_MASK) == UFS_ST_SUNx86)
-               ufsi->i_u1.i_data[1] = fs32;
+               ufsi->i_u1.i_data[1] = cpu_to_fs32(sb, fs32);
        else
-               ufsi->i_u1.i_data[0] = fs32;
+               ufsi->i_u1.i_data[0] = cpu_to_fs32(sb, fs32);
 }
 
 /**
index fc62887..61eef50 100644 (file)
@@ -351,6 +351,14 @@ struct ufs2_csum_total {
        __fs64   cs_spare[3];   /* future expansion */
 };
 
+struct ufs_csum_core {
+       __u64   cs_ndir;        /* number of directories */
+       __u64   cs_nbfree;      /* number of free blocks */
+       __u64   cs_nifree;      /* number of free inodes */
+       __u64   cs_nffree;      /* number of free frags */
+       __u64   cs_numclusters; /* number of free clusters */
+};
+
 /*
  * File system flags
  */
@@ -715,7 +723,7 @@ struct ufs_cg_private_info {
 
 struct ufs_sb_private_info {
        struct ufs_buffer_head s_ubh; /* buffer containing super block */
-       struct ufs2_csum_total cs_total;
+       struct ufs_csum_core cs_total;
        __u32   s_sblkno;       /* offset of super-blocks in filesys */
        __u32   s_cblkno;       /* offset of cg-block in filesys */
        __u32   s_iblkno;       /* offset of inode-blocks in filesys */