I’m posting this to share how I addressed the issue described below, but, as a warning, I’m not well versed in any of the underlying details and this may not be a reasonable or sensible thought process.
I recently upgraded my primary duplicati machine from Ubuntu 16.04 to 18.04 (Bionic Beaver). I have a backup source that is mounted via CIFS/samba and while I know that this is not really a supported configuration, it has worked well for me in the past.
After the 18.04 upgrade, the backup task for the CIFS-mounted source started generating thousands of warning messages like this:
Warnings: [
Failed to process metadata for "/backupmnt/share/", storing empty metadata => Unable to access the file "/backupmnt/share" with method llistxattr, error: ENODATA (61),
Failed to process metadata for "/backupmnt/share/x.doc", storing empty metadata => Unable to access the file "/backupmnt/share/x.doc" with method llistxattr, error: ENODATA (61),
Failed to process metadata for "/backupmnt/share/y.html", storing empty metadata => Unable to access the file "/backupmnt/share/y.html" with method llistxattr, error: ENODATA (61),
Failed to process metadata for "/backupmnt/share/z/", storing empty metadata => Unable to access the file "/backupmnt/share/z" with method llistxattr, error: ENODATA (61),
Failed to process metadata for "/backupmnt/share/n/", storing empty metadata => Unable to access the file "/backupmnt/share/n" with method llistxattr, error: ENODATA (61),
.
.
.
.
.
]
This seems extremely similar to what was discussed at https://forum.duplicati.com/t/getting-odd-metadata-errors/1710/ but I wasn’t initially clear on what about the 18.04 Bionic upgrade could have contributed to the change from no warnings to tons of warnings.
I noticed that under Ubuntu 16.04 I was using Samba 4.6.7 and with 18.04 Samba had been upgraded to 4.7.6. mount.cifs is newer too, and I’m sure that many other underlying pieces that are used directly or indirectly for cifs mounts are newer. The important thing seems to be that under 16.04, using xattr on anything from my cifs-mounted share results in this:
user@duplicatibox:~$ xattr /backupmnt/share/x.doc
[**Errno 95**] Operation not supported: b'/backupmnt/share/x.doc'
user@duplicatibox:~$
and on 18.04, with whatever relevant changes are implied by that upgrade and no other changes to the environment, the same thing results in this:
user@duplicatibox:~$ xattr /backupmnt/share/x.doc
[**Errno 6**1] No data available: b'/backupmnt/share/x.doc'
user@duplicatibox:~$
It seems clear that the reason the warnings didn’t show up before is because Errno 95 is explicitly ignored already whereas Errno 61 is not (but maybe soon it will be, as mentioned in the last link).
I see that I probably could have avoided the problem entirely by adding the --skip-metadata option to the backup task, but in my limited understanding of what that does, it would seem that more fundamental timestamp info that is not acquired via xattr would not be stored/restored, and I want to preserve that stuff if possible. If I’m wrong about that, then I have missed the most simple solution.
Ultimately, what I did to suppress the warnings was to add the ‘nouser_xattr’ option to the fstab entry for my mounted share:
//server/share /backupmnt/share/ cifs credentials=/etc/blah,nouser_xattr,ro 0 0
Now, xattr returns the following again since nouser_xattr "Do[es] not allow getfattr/setfattr to get/set xattrs, even if server would support it otherwise.:
user@duplicatibox:~$ xattr /backupmnt/share/x.doc
[Errno 95] Operation not supported: b'/backupmnt/share/x.doc'
user@duplicatibox:~$
and Duplicati happily suppresses the warnings which works for me!