Hi,
There are many failures in the LTP tests related to message queues. This is because the CONFIG_POSIX_MQUEUE option is disabled in the kernel. When I enable this option all the ltp mqueue tests pass. Does anyone know why we would want this option to be disabled? It doesn't seem to add much to the size of kernel (<5K).
Here's a list of the other Vexpress LTP failures - any comments are welcome:
fallocate01 1 TFAIL : fallocate(5, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate01 2 TFAIL : fallocate(6, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate02 7 TFAIL : fallocate(tfile_write_15396:6, 1, 0, 4096) failed, expected errno:0: TEST_ERRNO=EFBIG(27): File too large fallocate03 1 TFAIL : fallocate(tfile_sparse_15397, 0, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 2 TFAIL : fallocate(tfile_sparse_15397, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 3 TFAIL : fallocate(tfile_sparse_15397, 0, 69632, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 4 TFAIL : fallocate(tfile_sparse_15397, 0, 102400, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 5 TFAIL : fallocate(tfile_sparse_15397, 1, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 6 TFAIL : fallocate(tfile_sparse_15397, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 7 TFAIL : fallocate(tfile_sparse_15397, 1, 77824, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 8 TFAIL : fallocate(tfile_sparse_15397, 1, 106496, 4096) failed: TEST_ERRNO=EFBIG(27): File too large getcontext01 1 TFAIL : getcontext - Sanity test : Fail errno=38 : Function not implemented get_robust_list01 1 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 2 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 3 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 3) get_robust_list01 4 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 1) get_robust_list01 5 TFAIL : get_robust_list: retval = -1 (expected 0), errno = 38 (expected 0) set_robust_list01 1 TFAIL : set_robust_list: retval = -1 (expected -1), errno = 38 (expected 22) set_robust_list01 2 TFAIL : set_robust_list: retval = -1 (expected 0), errno = 38 (expected 0) swapon03 1 TFAIL : Failed to find out existing number of swap files: errno=ENOENT(2): No such file or directory sysctl03 2 TFAIL : Got expected error: TEST_ERRNO=EACCES(13): Permission denied
--Matt
On Wed, Sep 22, 2010 at 3:51 PM, Matt Waddel matt.waddel@canonical.com wrote:
Hi,
There are many failures in the LTP tests related to message queues. This is because the CONFIG_POSIX_MQUEUE option is disabled in the kernel. When I enable this option all the ltp mqueue tests pass. Does anyone know why we would want this option to be disabled? It doesn't seem to add much to the size of kernel (<5K).
Here's a list of the other Vexpress LTP failures - any comments are welcome:
I guess size would be one reason. It used to be that to use posix queue one needed to use libmqueue but now glibc/librt also has the implementation so it can be used by linking with librt.
fallocate01 1 TFAIL : fallocate(5, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate01 2 TFAIL : fallocate(6, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate02 7 TFAIL : fallocate(tfile_write_15396:6, 1, 0, 4096) failed, expected errno:0: TEST_ERRNO=EFBIG(27): File too large fallocate03 1 TFAIL : fallocate(tfile_sparse_15397, 0, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 2 TFAIL : fallocate(tfile_sparse_15397, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 3 TFAIL : fallocate(tfile_sparse_15397, 0, 69632, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 4 TFAIL : fallocate(tfile_sparse_15397, 0, 102400, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 5 TFAIL : fallocate(tfile_sparse_15397, 1, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 6 TFAIL : fallocate(tfile_sparse_15397, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 7 TFAIL : fallocate(tfile_sparse_15397, 1, 77824, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 8 TFAIL : fallocate(tfile_sparse_15397, 1, 106496, 4096) failed: TEST_ERRNO=EFBIG(27): File too large getcontext01 1 TFAIL : getcontext - Sanity test : Fail errno=38 : Function not implemented get_robust_list01 1 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 2 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 3 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 3) get_robust_list01 4 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 1) get_robust_list01 5 TFAIL : get_robust_list: retval = -1 (expected 0), errno = 38 (expected 0) set_robust_list01 1 TFAIL : set_robust_list: retval = -1 (expected -1), errno = 38 (expected 22) set_robust_list01 2 TFAIL : set_robust_list: retval = -1 (expected 0), errno = 38 (expected 0) swapon03 1 TFAIL : Failed to find out existing number of swap files: errno=ENOENT(2): No such file or directory sysctl03 2 TFAIL : Got expected error: TEST_ERRNO=EACCES(13): Permission denied
--Matt
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On Wed, Sep 22, 2010, Matt Waddel wrote:
fallocate01 1 TFAIL : fallocate(5, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate01 2 TFAIL : fallocate(6, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate02 7 TFAIL : fallocate(tfile_write_15396:6, 1, 0, 4096) failed, expected errno:0: TEST_ERRNO=EFBIG(27): File too large fallocate03 1 TFAIL : fallocate(tfile_sparse_15397, 0, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 2 TFAIL : fallocate(tfile_sparse_15397, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 3 TFAIL : fallocate(tfile_sparse_15397, 0, 69632, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 4 TFAIL : fallocate(tfile_sparse_15397, 0, 102400, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 5 TFAIL : fallocate(tfile_sparse_15397, 1, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 6 TFAIL : fallocate(tfile_sparse_15397, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 7 TFAIL : fallocate(tfile_sparse_15397, 1, 77824, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 8 TFAIL : fallocate(tfile_sparse_15397, 1, 106496, 4096) failed: TEST_ERRNO=EFBIG(27): File too large
fallocate(2) says EFBIG is returned when offset+len exceeds the maximum file size; this would mean your fs doesn't support files that large.
Could you try reproducing with fallocate(1) yourself? Perhaps the testsuite needs to run on a specific filesystem, or should be fixed to not assume larger sizes than your fs supports.
getcontext01 1 TFAIL : getcontext - Sanity test : Fail errno=38 : Function not implemented
Looks like a missing libc implementation; you could file a bug against linaro-toolchain-misc to track this I guess, in any case you should talk to the toolchain folks I think.
get_robust_list01 1 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 2 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 14) get_robust_list01 3 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 3) get_robust_list01 4 TFAIL : get_robust_list: retval = -1 (expected -1), errno = 38 (expected 1) get_robust_list01 5 TFAIL : get_robust_list: retval = -1 (expected 0), errno = 38 (expected 0) set_robust_list01 1 TFAIL : set_robust_list: retval = -1 (expected -1), errno = 38 (expected 22) set_robust_list01 2 TFAIL : set_robust_list: retval = -1 (expected 0), errno = 38 (expected 0)
No idea what these are; you'll have to check the source and see why it fails
swapon03 1 TFAIL : Failed to find out existing number of swap files: errno=ENOENT(2): No such file or directory
Do you have swap enabled in your test system? The test procedure might have to be fixed to ensure that's the case.
sysctl03 2 TFAIL : Got expected error: TEST_ERRNO=EACCES(13): Permission denied
No idea what that one is
On Thu, Sep 23, 2010 at 2:24 PM, Loïc Minier loic.minier@linaro.org wrote:
On Wed, Sep 22, 2010, Matt Waddel wrote:
fallocate01 1 TFAIL : fallocate(5, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate01 2 TFAIL : fallocate(6, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate02 7 TFAIL : fallocate(tfile_write_15396:6, 1, 0, 4096) failed, expected errno:0: TEST_ERRNO=EFBIG(27): File too large fallocate03 1 TFAIL : fallocate(tfile_sparse_15397, 0, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 2 TFAIL : fallocate(tfile_sparse_15397, 0, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 3 TFAIL : fallocate(tfile_sparse_15397, 0, 69632, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 4 TFAIL : fallocate(tfile_sparse_15397, 0, 102400, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 5 TFAIL : fallocate(tfile_sparse_15397, 1, 8192, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 6 TFAIL : fallocate(tfile_sparse_15397, 1, 49152, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 7 TFAIL : fallocate(tfile_sparse_15397, 1, 77824, 4096) failed: TEST_ERRNO=EFBIG(27): File too large fallocate03 8 TFAIL : fallocate(tfile_sparse_15397, 1, 106496, 4096) failed: TEST_ERRNO=EFBIG(27): File too large
fallocate(2) says EFBIG is returned when offset+len exceeds the maximum file size; this would mean your fs doesn't support files that large.
Correct, but the offset+length being requested here doesn't seem to be too high (12K in some of the calls). So, its a bit surprising.
BTW, which file system is it ? From last I know, fallocate was supported on only ext4, ocfs and xfs.
Also, if possible a printk to print the actual values of offset and length in the kernel (in fs/open.c : do_fallocate()) might give some pointer on whats going on.
So, something like :
/* Check for wrap through zero too */ - if (((offset + len) > inode->i_sb->s_maxbytes) || ((offset + len) < 0)) + if (((offset + len) > inode->i_sb->s_maxbytes) || + ((offset + len) < 0)) { + printk("sys_fallocate: offset = 0x%x, length = 0x%x max FS size= 0x%x\n", + offset, len, inode->i_sb->s_maxbytes); return -EFBIG; + }
If these numbers are higher than whats being passed by LTP test, then there is something wrong in how ARM is handling fallocate parameters. Else, the max file size supported by file system should be looked at (last variable in above printk).
Regards, Amit Arora