So I believe the problem is the hackish way to acquire buffer pages for internal biovec structures. This is done by taking a reference on the page which is returned by __bread() in read_super(). With 4k pages and reading 4k from sector 1 bh->b_data will always be the start of a page. But with 64k pages I can see that bh->b_data is at offset 4k from the start of the page. This will definitively result in inconsistent data written as __write_super overlays the sb data from the page start and only updates some fields. It could be even worse if the page returned by __bread() is actually shared between other buffer_heads in case the requested read size is only a fraction of a page... but I do not know that for sure.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1602299 Title: bcache is unstable on ppc64el To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1602299/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
