Rclone check reports missing files that are present

Outputs small enough to share here :slight_smile:

strace -f rclone ls /opt/cmsdata/01/30/b2b407384101a5ab7f610a9eb600/ 2>&1 | grep dent

[pid   569] getdents64(3, /* 3 entries */, 4096) = 80
[pid   569] getdents64(3, /* 0 entries */, 4096) = 0
[pid   569] getdents64(3, /* 0 entries */, 4096) = 0
[pid   569] getdents64(3, /* 86 entries */, 4096) = 4080
[pid   569] getdents64(3, /* 80 entries */, 4096) = 3840
[pid   569] getdents64(3, /* 0 entries */, 4096) = 0
[pid   569] getdents64(3, /* 0 entries */, 4096) = 0 

strace -f rclone ls /opt/ss_cmsdata/01/30/b2b407384101a5ab7f610a9eb600/ 2>&1 | grep dent

[pid   767] getdents64(3, /* 3 entries */, 4096) = 80
[pid   767] getdents64(3, /* 0 entries */, 4096) = 0
[pid   767] getdents64(3, /* 0 entries */, 4096) = 0
[pid   767] getdents64(3,  <unfinished ...>
[pid   767] <... getdents64 resumed> /* 86 entries */, 4096) = 4080
[pid   767] getdents64(3,  <unfinished ...>
[pid   767] <... getdents64 resumed> /* 41 entries */, 4096) = 1968
[pid   767] getdents64(3,  <unfinished ...>
[pid   767] <... getdents64 resumed> /* 38 entries */, 4096) = 1824
[pid   767] getdents64(3,  <unfinished ...>
[pid   767] <... getdents64 resumed> /* 0 entries */, 4096) = 0
[pid   767] getdents64(3, /* 0 entries */, 4096) = 0

strace -f rclone ls /opt/cmsdata/01/30/b2b407384101a5ab7f610a9eb600/ 2>&1 | grep fax000132803-0088.png

[pid  1048] lstat("/opt/cmsdata/01/30/b2b407384101a5ab7f610a9eb600/screen/fax000132803-0088.png", {st_mode=S_IFREG|0644, st_size=19809, ...}) = 0
[pid  1048] write(1, "    19809 screen/fax000132803-00"..., 39    19809 screen/fax000132803-0088.png

strace -f rclone ls /opt/ss_cmsdata/01/30/b2b407384101a5ab7f610a9eb600/ 2>&1 | grep fax000132803-0088.png produces nothing.

I don’t quite understand the output, but I’m guessing that there is some sort of buffering or pause and resume going on in the ss_cmsdata dent trace.