trapexit / mergerfs-tools

Optional tools to help manage data in a mergerfs pool
ISC License
372 stars 42 forks source link

mergerfs-balance: Missing disk from stats + fail xattrs causing bail. #101

Open KyleSanderson opened 4 years ago

KyleSanderson commented 4 years ago
file: egg-AdBlue®.iso
from: /disks/12T2
to:   /disks/8T1
rsync -avlHAXWES --relative --progress --remove-source-files '/disks/12T2/./egg-AdBlue®.iso' /disks/8T1/
sending incremental file list
Recordings/Films/
egg-AdBlue®.iso
 24,999,231,488 100%  105.13MB/s    0:03:46 (xfr#1, to-chk=0/3)
ERROR: Skipping sender remove for changed file: egg-AdBlue®.iso

sent 25,005,335,054 bytes  received 48 bytes  106,632,559.07 bytes/sec
total size is 24,999,231,488  speedup is 1.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1189) [sender=3.1.3]
ERROR - exited with exit code: 23
Branches within 2.0% range:
 * /disks/12T1: 44.27% free
 * /disks/8T2: 51.63% free
 * /disks/8T3: 51.71% free
 * /disks/8T1: 51.76% free
root@FileServer/disks # ls -1
12T1
12T2
8T1
8T2
8T3
trapexit commented 4 years ago

You want it to continue on error?

Return code 23 means the file wasn't copied correctly. If you want that to be ignored I supposed I could create an error whitelist and option to allow them or not.

KyleSanderson commented 4 years ago

Yeah, other files are copying okay. If that file cannot be balanced I want the destination to be removed if the source still exists and continue onwards. I suspect the ® is what's causing issues.

trapexit commented 4 years ago

That's not what the error says. The whole point of erroring is to ensure it can be manually managed because it's not possible to handle it automatically. That error you listed shows two different messages. If it skips errorred files you'll certainly miss them. I guess I could keep track of the error code and print them out at the end.

The filename shouldn't impact rsync like that. Have you tried moving it yourself?

KyleSanderson commented 4 years ago

My shell doesn't like the (R) but sha256sum, as well as stat and install work. I stat'd the file and compared sha1sum, they're identical. The container has the same permissions as xfs_fsr, and mergerfs-fsck (and is running as root / privileged). Working on figuring out why rsync is failing (it isn't a link, so that doesn't align).