Ребяты, это пи...ц какой-то... Можно и FAQ написать, но влом. В общем iPhone (наверно и другие яблоки) "гадят" всем! :)
Коротко тут:
https://eclecticlight.co/2018/01/29/icloud-drive-has-user-mo.../
https://eclecticlight.co/2018/01/29/xattr-com-apple-cscachef.../
Как я понял, Самба обрезала атрибут com.apple.cscachefs, делала временный файл,
а Яблоко проверяло наличие ещё до закрытия передачи (данные уже передались),
и разрывало связь. Самба естественно думала, что это реальная ошибка, считала, что файл
не до конца передан и вполне законно его удаляла. На самом деле там атрибутов ещё много:
com.apple.assetsd.UUID
com.apple.assetsd.addedDate
com.apple.assetsd.assetType
com.apple.assetsd.avalanche.type
com.apple.assetsd.creatorBundleID
com.apple.assetsd.customCreationDate
com.apple.assetsd.dbRebuildUuid
com.apple.assetsd.deferredProcessing
com.apple.assetsd.favorite
com.apple.assetsd.grouping.state
com.apple.assetsd.hidden
com.apple.assetsd.importedBy
com.apple.assetsd.importedByDisplayName
com.apple.assetsd.originalFilename
com.apple.assetsd.publicGlobalUUID
com.apple.assetsd.timeZoneName
com.apple.assetsd.timeZoneOffset
com.apple.assetsd.trashed
com.apple.assetsd.videoComplementVisibility
com.apple.lastuseddate#PS
Чтоб всё это обойти нужно:
0. Файловую систему с поддержкой XATTR (на tmpfs работает, но как-то туго)
1. Включить поддержку ACL, XATTR, EA
force unknown acl user = true
ea support = yes
2. Отключить "Гибкие блокировки"
oplocks = no
3. Включить модули acl_xattr и streams_xattr https://www.samba.org/samba/docs/current/man-html/vfs_stream...
vfs objects = acl_xattr
acl_xattr:ignore system acls = yesvfs objects = streams_xattr
# streams_xattr:store_stream_type = no
--
После передачи атрибуты файлы выглядят так:
# getfattr -d camvideo_408844ac.MP4
# file: camvideo_408844ac.MP4
user.DOSATTRIB=0sMHgyMAAAAwADAAAAEQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8SDkdQNcBAAAAAAAAAAA=
user.DosStream.com.apple.assetsd.UUID:$DATA=0gT/rnfcqY4ip6ONPg6OF+DwA=
user.DosStream.com.apple.assetsd.addedDate:$DATA=0sXnBsaXN0RDAeQcPgFofais4IAAAAAAAAAQEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEA
user.DosStream.com.apple.assetsd.assetType:$DATA=0sAwAA
user.DosStream.com.apple.assetsd.avalanche.type:$DATA=0sAAAA
user.DosStream.com.apple.assetsd.creatorBundleID:$DATA="ph.telegra.Telegraph"
user.DosStream.com.apple.assetsd.customCreationDate:$DATA=0sYnBsaXN0MDAzQcFgFn6AAAAIAAAAAAAAAQEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEA
user.DosStream.com.apple.assetsd.dbRebuildUuid:$DATA="a2aD7A11-965F-4E2E-B428-F020FA8A4CD8"
user.DosStream.com.apple.assetsd.deferredProcessing:$DATA=0sAAAA
user.DosStream.com.apple.assetsd.favorite:$DATA=0sAAAA
user.DosStream.com.apple.assetsd.grouping.state:$DATA=0sAAAAAAAAAAAA
user.DosStream.com.apple.assetsd.hidden:$DATA=0sAAAA
user.DosStream.com.apple.assetsd.importedBy:$DATA=0sAwAA
user.DosStream.com.apple.assetsd.importedByDisplayName:$DATA="Telegram"
user.DosStream.com.apple.assetsd.originalFilename:$DATA="camvideo_408844ac.mp4"
user.DosStream.com.apple.assetsd.publicGlobalUUID:$DATA="8B23DC6F-A12E-67E4-91D8-84FC187D3141"
user.DosStream.com.apple.assetsd.timeZoneName:$DATA="Europe/Moscow"
user.DosStream.com.apple.assetsd.timeZoneOffset:$DATA=0sMCoAAAA=
user.DosStream.com.apple.assetsd.trashed:$DATA=0sAAAA
user.DosStream.com.apple.assetsd.videoComplementVisibility:$DATA=0sAAAA
user.DosStream.com.apple.lastuseddate#PS:$DATA=0sOomUYAAAAAAAAAAAAAAAAAA=
Вот такое палево летает от айфонов
Как я понял должно помочь и другим яблочникам выкачивать файлы
https://discussions.apple.com/thread/250025119