pmem / pmemfile

Userspace implementation of file APIs using persistent memory.
Other
34 stars 21 forks source link

WIP Use preload tests to test pmemfile-fuse. #437

Open mslusarz opened 7 years ago

mslusarz commented 7 years ago

This change is Reviewable

codecov[bot] commented 7 years ago

Codecov Report

Merging #437 into master will increase coverage by 1.72%. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #437      +/-   ##
==========================================
+ Coverage    78.9%   80.63%   +1.72%     
==========================================
  Files          71       71              
  Lines        8809     8809              
  Branches     1774     1774              
==========================================
+ Hits         6951     7103     +152     
+ Misses       1409     1207     -202     
- Partials      449      499      +50
Flag Coverage Δ
#ltp_tests 45.69% <ø> (+0.18%) :arrow_up:
#sqlite_tests 45.69% <ø> (+0.01%) :arrow_up:
#tests_antool 15.06% <ø> (ø) :arrow_up:
#tests_fuse 30.85% <ø> (?)
#tests_posix_multi_threaded 25.32% <ø> (+0.01%) :arrow_up:
#tests_posix_single_threaded 57.02% <ø> (+0.02%) :arrow_up:
#tests_preload 44.88% <ø> (+0.2%) :arrow_up:
Impacted Files Coverage Δ
src/libpmemfile-posix/offset_mapping.c 85% <0%> (-1.43%) :arrow_down:
src/libpmemfile-posix/rename.c 91.09% <0%> (-0.81%) :arrow_down:
src/libpmemfile-posix/data.c 94.48% <0%> (-0.4%) :arrow_down:
src/libpmemfile-posix/dir.c 90.19% <0%> (ø) :arrow_up:
src/libpmemfile/preload.c 51.42% <0%> (+0.15%) :arrow_up:
src/libpmemfile-posix/inode.c 89.07% <0%> (+0.33%) :arrow_up:
src/libpmemfile-posix/getdents.c 90.96% <0%> (+0.64%) :arrow_up:
src/pmemfile-fuse/main.c 49.35% <0%> (+49.35%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update fbb67ef...527e0e5. Read the comment docs.

mslusarz commented 7 years ago

I'm puzzled why "preload_nested_dirs" fails on Travis with this PR. It passes locally and I can't see anything in the patch that could affect this test. It fails randomly when test tries to create many directories (https://github.com/mslusarz/pmemfile/blob/fuse/tests/preload/nested_dirs/nested_dirs.cmake#L82 ).

@GBuella ideas?

GBuella commented 7 years ago
/pmemfile-fedora-25/tests/helpers.cmake(151):  execute(mkdir /tmp/pmemfile-tests//nested_dirs/mount_point/test_dir/a/b/c/d/e/f/g/x43 )
/pmemfile-fedora-25/tests/helpers.cmake(102):  execute_process(COMMAND mkdir /tmp/pmemfile-tests//nested_dirs/mount_point/test_dir/a/b/c/d/e/f/g/x43 RESULT_VARIABLE res )
mkdir: cannot create directory '/tmp/pmemfile-tests//nested_dirs/mount_point/test_dir/a/b/c/d/e/f/g/x43': Input/output error

I found only a single place in code where we return EIO: when libpmemfile does not manage to open a pool. Perhaps some more logging, to find out why it can't open the pool sometimes.

krzycz commented 7 years ago

Reviewed 17 of 21 files at r1. Review status: 17 of 21 files reviewed at latest revision, all discussions resolved, some commit checks failed.


Comments from Reviewable

krzycz commented 6 years ago

Reviewed 4 of 21 files at r1. Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.


Comments from Reviewable