The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Самба убивает файлы, !*! pavlinux, 04-Май-21, 02:09  [смотреть все]
Если отправляю со смарта видео файлы *.MP4, *.MOV,*.HEIC, то
после завершения передачи они удаляются. Когда передаю фотки, то всё нормально.

Вот лог при передаче видео.


...
...
smb2: fnum 2771293725, file camvideo_408844ac.MP4, length=65536 offset=0 wrote=65536
smb2: fnum 2771293725, file camvideo_408844ac.MP4, length=65536 offset=0 wrote=65536
smb2: fnum 2771293725, file camvideo_408844ac.MP4, length=65536 offset=0 wrote=65536
smb2: fnum 2771293725, file camvideo_408844ac.MP4, length=65536 offset=0 wrote=65536
smb2: fnum 2771293725, file camvideo_408844ac.MP4, length=46489 offset=0 wrote=46489
root closed file camvideo_408844ac.MP4 (numopen=0) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[camvideo_408844ac.MP4] found camvideo_408844ac.MP4 fname=camvideo_408844ac.MP4 (camvideo_408844ac.MP4)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[camvideo_408844ac.MP4] found camvideo_408844ac.MP4 fname=camvideo_408844ac.MP4 (camvideo_408844ac.MP4)
root opened file camvideo_408844ac.MP4 read=No write=No (numopen=1)
root closed file camvideo_408844ac.MP4 (numopen=0) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[camvideo_408844ac.MP4] found camvideo_408844ac.MP4 fname=camvideo_408844ac.MP4 (camvideo_408844ac.MP4)
smbd_do_qfsinfo: level = 1003
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[camvideo_408844ac.MP4] found camvideo_408844ac.MP4 fname=camvideo_408844ac.MP4 (camvideo_408844ac.MP4)
root opened file camvideo_408844ac.MP4 read=Yes write=No (numopen=1)
root opened file camvideo_408844ac.MP4 read=No write=No (numopen=2)
root closed file camvideo_408844ac.MP4 (numopen=1) NT_STATUS_OK
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../source3/smbd/smb2_create.c:296
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[9] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
creating new dirptr 0 for path ., expect_close = 0
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../source3/smbd/smb2_query_directory.c:158
root opened file camvideo_408844ac.MP4 read=No write=No (numopen=2)
smbd_do_setfilepathinfo: camvideo_408844ac.MP4 (fnum 3692989460) info_level=65290 totdata=60
rename_internals_fsp: succeeded doing rename on camvideo_408844ac.MP4 -> .nfs.20051031.00f7
root closed file .nfs.20051031.00f7 (numopen=1) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[.nfs.20051031.00f7] found .nfs.20051031.00f7 fname=.nfs.20051031.00f7 (.nfs.20051031.00f7)
root closed file .nfs.20051031.00f7 (numopen=0) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[.nfs.20051031.00f7] found .nfs.20051031.00f7 fname=.nfs.20051031.00f7 (.nfs.20051031.00f7)
root opened file .nfs.20051031.00f7 read=No write=No (numopen=1)
smbd_do_setfilepathinfo: .nfs.20051031.00f7 (fnum 2787744222) info_level=1013 totdata=1
root closed file .nfs.20051031.00f7 (numopen=0) NT_STATUS_OK


Фотка


smb2: fnum 3022153035, file IMG_4583.jpg, length=65536 offset=0 wrote=65536
smb2: fnum 3022153035, file IMG_4583.jpg, length=26433 offset=0 wrote=26433
smb2: fnum 3022153035, file IMG_4583.jpg, length=65536 offset=0 wrote=65536
root closed file IMG_4583.jpg (numopen=0) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
smbd_do_qfsinfo: level = 1003
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
root opened file IMG_4583.jpg read=Yes write=No (numopen=1)
root opened file IMG_4583.jpg read=No write=No (numopen=2)
root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
root opened file IMG_4583.jpg read=No write=Yes (numopen=2)
smbd_do_setfilepathinfo: IMG_4583.jpg (fnum 2414260208) info_level=1004 totdata=40
root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
root opened file IMG_4583.jpg read=Yes write=Yes (numopen=2)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../source3/smbd/smb2_create.c:296
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[9] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../source3/smbd/smb2_create.c:296
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[9] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)
root opened file IMG_4583.jpg read=Yes write=Yes (numopen=2)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_OBJECT_NAME_NOT_FOUND] || at ../source3/smbd/smb2_create.c:296
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[9] status[NT_STATUS_FILE_CLOSED] || at ../source3/smbd/smb2_server.c:2599
root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK
root closed file IMG_4583.jpg (numopen=0) NT_STATUS_OK
creating new dirptr 0 for path ., expect_close = 0
smbd_dirptr_get_entry mask=[IMG_4583.jpg] found IMG_4583.jpg fname=IMG_4583.jpg (IMG_4583.jpg)

Видосы пытается переименовать в какие-то файлы типа .nfs.20051031.00f7


  • Самба убивает файлы, !*! ыы, 12:47 , 04-Май-21 (1)
    > Если отправляю со смарта видео файлы *.MP4, *.MOV,*.HEIC, то
    > после завершения передачи они удаляются. Когда передаю фотки, то всё нормально.

    а самба то тут при чем?
    какой-то сервис  у вас там на приемном конце чтото делает...  отключите его.

    • Самба убивает файлы, !*! pavlinux, 14:19 , 04-Май-21 (2)
      >> Если отправляю со смарта видео файлы *.MP4, *.MOV,*.HEIC, то
      >> после завершения передачи они удаляются. Когда передаю фотки, то всё нормально.
      > а самба то тут при чем?
      > какой-то сервис  у вас там на приемном конце чтото делает...  
      > отключите его.

      Самба - это приёмный сервис. Сетевая часть вообще не причём.
      Файлы прилетают, большие файлы вижу в папке во время передачи.

      При приёме видеофалй, после:

      root opened file camvideo_408844ac.MP4 read=No write=No (numopen=2)

      запускается

      smbd_do_setfilepathinfo: camvideo_408844ac.MP4 (fnum 3692989460) info_level=65290 totdata=60
      rename_internals_fsp: succeeded doing rename on camvideo_408844ac.MP4 -> .nfs.20051031.00f7

      с фоткой


      root opened file IMG_4583.jpg read=Yes write=Yes (numopen=2)
      ...
      root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK
      root closed file IMG_4583.jpg (numopen=0) NT_STATUS_OK

      Как не сложно заметить, при open() (до переименования) видео и фотки флаги разные

      видео: read=No write=No (numopen=2)
      ...
      фотка: read=Yes write=Yes (numopen=2)

    • Самба убивает файлы, !*! pavlinux, 15:44 , 04-Май-21 (3)
      >> Если отправляю со смарта видео файлы *.MP4, *.MOV,*.HEIC, то
      >> после завершения передачи они удаляются. Когда передаю фотки, то всё нормально.
      > а самба то тут при чем?
      > какой-то сервис  у вас там на приемном конце чтото делает...  
      > отключите его.

      Убивается файл тут... https://git.samba.org/?p=samba.git;a=blob;f=source3/smbd/clo...

      Вопрос в том, какого уя это срабатывает на разных файлах, более только, из одного СЕТЕВОГО источника. ))

      • Самба убивает файлы, !*! ACCA, 04:30 , 05-Май-21 (4)
        Ну а чё, смарт открыл файл на запись с флагом FILE_DELETE_ON_CLOSE.
        Вполне может быть какой-нибудь дебильный Digital Rights Management.
        • Самба убивает файлы, !*! pavlinux, 23:45 , 06-Май-21 (6)
          > Ну а чё, смарт открыл файл на запись с флагом FILE_DELETE_ON_CLOSE.
          > Вполне может быть какой-нибудь дебильный Digital Rights Management.

          Не, проверил, DELETE_ON_CLOSE ставится на временные файлы .nfs.20051031.00f7
          Заменил ту стороку в коде, на delete_file = false; файлы .nfs.*  остаются в папке, все норм.  

  • Самба убивает файлы, !*! eRIC, 13:07 , 05-Май-21 (5)
    версия самбы, окружение какое, сам конфиг?
    в одну и ту шару/папку идет запись или в разные?

    share mode ? https://github.com/samba-team/samba/blob/47d79d7e7e406f7dd20...

    root opened file camvideo_408844ac.MP4 read=Yes write=No (numopen=1)
    root opened file camvideo_408844ac.MP4 read=No write=No (numopen=2)
    root closed file camvideo_408844ac.MP4 (numopen=1) NT_STATUS_OK

    root opened file IMG_4583.jpg read=Yes write=No (numopen=1)
    root opened file IMG_4583.jpg read=No write=No (numopen=2)
    root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK

    • Самба убивает файлы, !*! pavlinux, 00:02 , 07-Май-21 (7)
      > версия самбы, окружение какое, сам конфиг?
      > в одну и ту шару/папку идет запись или в разные?

      Samba из Debian 10, 4.9.5+dfsg-5+deb10u1

      Конфиг уже весь переколбасли ... вот последняя версия https://pastebin.pl/view/646c0d8f

    • Самба убивает файлы, !*! pavlinux, 00:19 , 07-Май-21 (8)
      > версия самбы, окружение какое, сам конфиг?
      > в одну и ту шару/папку идет запись или в разные?
      > share mode ? https://github.com/samba-team/samba/blob/47d79d7e7e406f7dd20...
      > root opened file camvideo_408844ac.MP4 read=Yes write=No (numopen=1)
      > root opened file camvideo_408844ac.MP4 read=No write=No (numopen=2)
      > root closed file camvideo_408844ac.MP4 (numopen=1) NT_STATUS_OK
      > root opened file IMG_4583.jpg read=Yes write=No (numopen=1)
      > root opened file IMG_4583.jpg read=No write=No (numopen=2)
      > root closed file IMG_4583.jpg (numopen=1) NT_STATUS_OK

      Кстати, сделал уровень логирования поболее... Вон чо вылезло


      unix_convert called on file "camphoto_1903590565.JPG:com.apple.assetsd.UUID"
      unix_convert begin: name = camphoto_1903590565.JPG, dirpath = , start = camphoto_1903590565.JPG
      stat_cache_add: Added entry (5a2fb5783390:size 17) camphoto_1903590565.JPG -> camphoto_1903590565.JPG
      conversion of base_name finished camphoto_1903590565.JPG:com.apple.assetsd.UUID -> camphoto_1903590565.JPG

      Реальное прилетаемое имя с суфиксами :com.apple.assetsd.UUID

  • Самба убивает файлы, !*! pavlinux, 03:46 , 07-Май-21 (9) +1
    Ребяты, это пи...ц какой-то...  Можно и 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 = yes

    vfs 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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру