[U-Boot] ext4 write support and big-endian machines

Hi Tom, Uma and all,
there doesn't seem to be a dedicated filesystem maintainer, but I've included the original committer for the ext4 write support.
I guess the ext4 write support does not work on big-endian machines. As far as I see, almost no fields of the ext4 structures within the write code are byteswapped. That is very unfortunate ;) If I understand the code correctly, the fields are swapped on every access individually. This means we have to go through the "ext4 write" code and look at every field which is accessed and add an appropriate le{16,32}_to_cpu() call. Puh ;)
Btw. is the kernel style le16_to_cpu preferred to __le16_to_cpu()?
-michael

Am 2016-08-05 14:06, schrieb Michael Walle:
Hi Tom, Uma and all,
there doesn't seem to be a dedicated filesystem maintainer, but I've included the original committer for the ext4 write support.
Hm, no Uma :(
uma.shankar@samsung.com: host mailin.samsung.com[203.254.224.12] said: 550 5.1.1 Recipient address rejected: User unknown (in reply to RCPT TO command)
-michael

Am 2016-08-05 14:06, schrieb Michael Walle:
there doesn't seem to be a dedicated filesystem maintainer, but I've included the original committer for the ext4 write support.
I guess the ext4 write support does not work on big-endian machines. As far as I see, almost no fields of the ext4 structures within the write code are byteswapped. That is very unfortunate ;) If I understand the code correctly, the fields are swapped on every access individually. This means we have to go through the "ext4 write" code and look at every field which is accessed and add an appropriate le{16,32}_to_cpu() call. Puh ;)
Btw. is the kernel style le16_to_cpu preferred to __le16_to_cpu()?
ping anyone?
-michael

On Wed, Aug 10, 2016 at 09:53:03AM +0200, Michael Walle wrote:
Am 2016-08-05 14:06, schrieb Michael Walle:
there doesn't seem to be a dedicated filesystem maintainer, but I've included the original committer for the ext4 write support.
I guess the ext4 write support does not work on big-endian machines. As far as I see, almost no fields of the ext4 structures within the write code are byteswapped. That is very unfortunate ;) If I understand the code correctly, the fields are swapped on every access individually. This means we have to go through the "ext4 write" code and look at every field which is accessed and add an appropriate le{16,32}_to_cpu() call. Puh ;)
Btw. is the kernel style le16_to_cpu preferred to __le16_to_cpu()?
ping anyone?
Yes, le16_to_cpu() is preferred. Thanks!
participants (2)
-
Michael Walle
-
Tom Rini