| Summary: | [LTP] fallocate always gets -EFBIG on qemuarm/qemumips | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Kevin Tian <kevin.tian> |
| Component: | bsps-runtime | Assignee: | Bruce Ashfield <bruce.ashfield> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | minor | ||
| Priority: | Low | CC: | sgw, yi.zhao, yp.kernel.watcher, yp.watcher |
| Version: | 1.0 | ||
| Target Milestone: | 1.1 | ||
| Hardware: | Other | ||
| OS: | Multiple | ||
| Whiteboard: | looks to be a simulation limitation (May 16, 2011) | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
we'll have a look at this as time permits We perform LTP on 20110806 build by using latest ltp-full-20110606 instead of ltp-full-20101031. These cases can pass now. The output message as below: ########## <<<test_start>>> tag=fallocate01 stime=1313050545 cmdline="fallocate01" contacts="" analysis=exit <<<test_output>>> fallocate01 1 TCONF : fallocate system call is not implemented fallocate01 2 TCONF : Remaining cases not appropriate for configuration <<<execution_status>>> initiation_status="ok" duration=0 termination_type=exited termination_id=0 corefile=no cutime=0 cstime=2 <<<test_end>>> <<<test_start>>> tag=fallocate02 stime=1313050545 cmdline="fallocate02" contacts="" analysis=exit <<<test_output>>> fallocate02 1 TPASS : fallocate(tfile_read_14572:5, 1, 0, 4096) returned 9 fallocate02 2 TPASS : fallocate(tfile_write_14572:6, 1, -4096, 4096) returned 22 fallocate02 3 TPASS : fallocate(tfile_write_14572:6, 1, 4096, -4096) returned 22 fallocate02 4 TPASS : fallocate(tfile_write_14572:6, 1, 49152, 0) returned 22 fallocate02 5 TPASS : fallocate(tfile_write_14572:6, 1, 49152, -4096) returned 22 fallocate02 6 TPASS : fallocate(tfile_write_14572:6, 1, -98304, 4096) returned 22 fallocate02 7 TCONF : fallocate system call is not implemented fallocate02 8 TCONF : Remaining cases not appropriate for configuration <<<execution_status>>> initiation_status="ok" duration=0 termination_type=exited termination_id=0 corefile=no cutime=0 cstime=2 <<<test_end>>> <<<test_start>>> tag=fallocate03 stime=1313050545 cmdline="fallocate03" contacts="" analysis=exit <<<test_output>>> fallocate03 1 TCONF : fallocate system call is not implemented fallocate03 2 TCONF : Remaining cases not appropriate for configuration <<<execution_status>>> initiation_status="ok" duration=0 termination_type=exited termination_id=0 corefile=no cutime=0 cstime=2 <<<test_end>>> ############## marking as resolved, since this can't be seen on the latest builds. Verified it with 20110806 build by using ltp-full-20110606. |
This is found on 1.0-M2 build Actually ext3 doesn't support fallocate operation, and thus -EOPNOTSUPP is expected, and then LTP will skip related tests. This happens on all other platforms except qemuarm and qemumips. On these two targets, -EFBIG is always returned whatever offset and length is given. You can create a new file, and then use fallocate utility included in utillinux (included in SDK image): fallocate new_file -o any_offset -l any_length take a look at the kernel code (fs/open.c): do_fallocate: ... /* Check for wrap through zero too */ if (((offset + len) > inode->i_sb->s_maxbytes) || (offset + len) < 0)) return -EFBIG; IF (!inode->i_op->fallocate) return -EOPNOTSUPP; I don't understand why the -EFBIG condition is triggered in this case, and thus still report this problem though it's expected to fail on ext3 file system I tried latest 01/27 nightly arm kernel. same error.