exofs: fix endian conversion in exofs_sync_fs()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 21 Nov 2011 14:43:11 +0000 (17:43 +0300)
committerBoaz Harrosh <bharrosh@panasas.com>
Mon, 19 Mar 2012 20:39:11 +0000 (13:39 -0700)
fscb->s_numfiles is an __le64 field so we need to use cpu_to_le64()
to get a little endian 64 bit on big endian systems.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fs/exofs/super.c

index d22cd16..4710b5f 100644 (file)
@@ -389,7 +389,7 @@ static int exofs_sync_fs(struct super_block *sb, int wait)
        ios->length = offsetof(struct exofs_fscb, s_dev_table_oid);
        memset(fscb, 0, ios->length);
        fscb->s_nextid = cpu_to_le64(sbi->s_nextid);
-       fscb->s_numfiles = cpu_to_le32(sbi->s_numfiles);
+       fscb->s_numfiles = cpu_to_le64(sbi->s_numfiles);
        fscb->s_magic = cpu_to_le16(sb->s_magic);
        fscb->s_newfs = 0;
        fscb->s_version = EXOFS_FSCB_VER;