[Top] [All Lists]

Re: Writing journal only in Big Endian format

To: Nitin Arora <nitin.arora.del@xxxxxxxxx>
Subject: Re: Writing journal only in Big Endian format
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Sun, 29 Nov 2009 23:58:54 -0600
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>, "sandeen-xfs@xxxxxxxxxxx" <sandeen-xfs@xxxxxxxxxxx>, "p.mironchik@xxxxxxxxxxx" <p.mironchik@xxxxxxxxxxx>, "hch@xxxxxxx" <hch@xxxxxxx>
In-reply-to: <409bd82b0911292117n5aa11961u86e787d20acbd2b3@xxxxxxxxxxxxxx>
References: <409bd82b0911292117n5aa11961u86e787d20acbd2b3@xxxxxxxxxxxxxx>
On Nov 29, 2009, at 11:17 PM, Nitin Arora <nitin.arora.del@xxxxxxxxx> wrote:


We are using XFS (Kernel 2.6.18) and facing a problem.
When any XFS partition is plugged out from a little endian machine and plugged in to a big endian machine,
it cannot be mounted and gives the following error.

FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

FAT: bogus number of FAT structure

VFS: Can't find a valid FAT filesystem on dev sda1.

VFS: Can't find ext3 filesystem on dev sda1.

XFS mounting filesystem sda1

Starting XFS recovery on filesystem: sda1 (logdev: internal)

XFS: dirty log written in incompatible format - can't recover

XFS: log mount/recovery failed: error 5

XFS: log mount failed

Yep this Is expected for a dirty log, but I think a cleanly unmounted filesystem should migrate without problems; is this not the case?

So really the problem should be limited to migrating -dirty- filesystems, and the complexity of endian-swapping the journal at runtime seems overly expensive for this odd case.

Just unmount before migration....


Mounting problem goes away after doing "xfs_repair -L /dev/sdb2"

The problem is that big endian machine cannot recognize the journal which was written in
little endian format by the little endian machine and once the journal is zerod out it can be mouted.

Now the solution to above problem seems writing journal always in big endian format.

Please suggest me, Is there any design limitation in XFS for this.
Is it okay and feasible to implement it if yes then please give some pointers so that it can be implemented, under some
suitable compile time switch.

Thanks in advance...

Nitin Arora
<Prev in Thread] Current Thread [Next in Thread>