I'm receiving traps when running the tests going with 'gmake check'
and on one of the tests it traps on:

void FileJournal::align_bl(off64_t pos, bufferlist& bl)
  // make sure list segments are page aligned
  if (directio && (!bl.is_aligned(block_size) ||
                   !bl.is_n_align_sized(CEPH_MINIMUM_BLOCK_SIZE))) {
    assert(0 == "bl should be align");
    if ((bl.length() & (CEPH_MINIMUM_BLOCK_SIZE - 1)) != 0 ||
        (pos & (CEPH_MINIMUM_BLOCK_SIZE - 1)) != 0)
      dout(0) << "rebuild_page_aligned failed, " << bl << dendl;
    assert((bl.length() & (CEPH_MINIMUM_BLOCK_SIZE - 1)) == 0);
    assert((pos & (CEPH_MINIMUM_BLOCK_SIZE - 1)) == 0);

And then I get confused with the following commit in other tests:
commit 8ed724222651812c2ee8cc3804dc1f54c973897d
Author: Kefu Chai <kc...@redhat.com>
Date:   Fri Sep 4 01:23:31 2015 +0800

    test/bufferlist: do not expect !is_page_aligned() after unaligned

    if the size of a bufferlist is page aligned we allocate page aligned
    memory chunk for it when rebuild() is called. otherwise we just call
    the plain new() to allocate new memory chunk for holding the continuous
    buffer. but we should not expect that `new` allocator always returns
    unaligned memory chunks. instead, it *could* return page aligned
    memory chunk as long as the allocator feels appropriate. so, the
    `EXPECT_FALSE(bl.is_page_aligned())` after the `rebuild()` call is

    Signed-off-by: Kefu Chai <kc...@redhat.com>

Could these 2 be related, and do I have an alignment problem when
allocating buffers and bufferlists....

Note that I also have not solved the illegal writes to _len in
bufferlists when running unittest_erasure_code_shec_arguments.

So any suggestions as to where to look at for this, are welcome.


To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to