At 11/07/2016 01:36 PM, Marc MERLIN wrote:
(sorry for the bad subject line from the mdadm list on the previous mail)

On Mon, Nov 07, 2016 at 12:18:10PM +0800, Qu Wenruo wrote:
I'm totally wrong here.

DirectIO needs the 'buf' parameter of read()/pread() to be 512 bytes

While we are using a lot of stack memory() and normal malloc()/calloc()
allocated memory, which are seldom aligned to 512 bytes.

So to *workaround* the problem in btrfs-progs, we may need to change any
pread() caller to use aligned memory allocation.

I really don't think David will accept such huge change for a workdaround...

Thanks for looking into it.
So basically should we just document that btrfs filesystems past 8TB in
size are not supported on 32bit architectures?
(as in you can mount them and use them I believe, but you cannot create,
or repair them)


Add David to this thread.

For create, it should be OK. As at create time, we hardly write beyond 3G. So it won't be a big problem.

For repair, we do have a possibility that btrfsck can't handle it.

Anyway, I'd like to see how David thinks what we should do the handle the problem.


To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to
More majordomo info at

Reply via email to