On Fri, 2013-12-13 at 02:17 +0100, David Sterba wrote:
Hi David,
> On Wed, Dec 11, 2013 at 05:38:35PM -0600, Chandra Seetharaman wrote:
> > In other words, one cannot create a filesystem in some other architecture
> > and use that filesystem in PPC64 or ARM64, and vice versa.,
>
> For a full compatibility with any blocksize on arch with any pagesize
> you'd need to implement the case when sectorsize is larger than
> pagesize. Your patchset does the "4k sector/64k page", but I haven't
> noticed the "64k sector/4k page" counterpart.
My object was to make btrfs filesystems from other arches to be directly
usable in PPC64.
Nevertheless, IIUC, btrfs currently support such a case. Each extent
buffers currently can have up to INLINE_EXTENT_BUFFER_PAGES(16).
-------
#define INLINE_EXTENT_BUFFER_PAGES 16
struct extent_buffer {
:
:
struct page *pages[INLINE_EXTENT_BUFFER_PAGES];
:
};
--------
No ?
>
> > Sometime last year, Wade Cline posted a patch(http://lwn.net/Articles/529682/).
> > I started testing it, and found many locking/race issues. So, I changed the
> > logic and created an extent_buffer_head that holds an array of extent buffers that
> > belong to a page.
> >
> > There are few wrinkles in this patchset, like some xfstests are failing, which
> > could be due to me doing something incorrectly w.r.t how the blocksize and
> > PAGE_SIZE are used in these patched.
>
> How does it handle compression? The current code relies on
>
> compression block == page size
>
> but should rather use the sectorsize. That might be one of the reasons
> why xfstests fail.
Thanks for this information. I will look at the code more closely with
this in mind.
There are some issues with relocation too. Is there similar assumption
in that code path too ?
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html