копирование удаленных файлов
От: the_moon  
Дата: 24.09.13 14:58
Оценка:
Привет,

такой вот вопрос, нигде не нахожу ответа.

Допустим на сервере лежит файл. Сервер Windows машина. На моем писюке я подключил шару и в ней создаю копию файла. В той же самой папочке. Посредством Exlporer-а. Будут ли гоняться байтики туда-сюда по сети или имеется специальная smb комманда для копирования и все просиходит удаленно на той машине где лежит файлик? А если я использую cygwin-овую "cp" команнду или xcopy?

Спасибо
KOPOTbILLIKA KPbIC
Re: копирование удаленных файлов
От: ononim  
Дата: 24.09.13 15:00
Оценка:
Будут гоняться байтики.
Как много веселых ребят, и все делают велосипед...
Re[2]: копирование удаленных файлов
От: the_moon  
Дата: 24.09.13 15:38
Оценка:
Здравствуйте, ononim, Вы писали:

O>Будут гоняться байтики.


А где можно найти подтверждение этому? Моя беда в том, что я не могу ничего найти по этому вопросу. Ни подтверждения ни опровержения.
KOPOTbILLIKA KPbIC
Re[3]: копирование удаленных файлов
От: ononim  
Дата: 24.09.13 16:11
Оценка:
O>>Будут гоняться байтики.
_>А где можно найти подтверждение этому? Моя беда в том, что я не могу ничего найти по этому вопросу. Ни подтверждения ни опровержения.
kernel32!CopyFileExW реализован через чтение/запись файлов, на уровне интерфейса ядра нету такой операции "копирование файла"
Как много веселых ребят, и все делают велосипед...
Re: копирование удаленных файлов
От: watchmaker  
Дата: 24.09.13 16:34
Оценка: 10 (3) +1
Здравствуйте, the_moon, Вы писали:

_>Допустим на сервере лежит файл. Сервер Windows машина. На моем писюке я подключил шару и в ней создаю копию файла. В той же самой папочке. Посредством Exlporer-а. Будут ли гоняться байтики туда-сюда по сети или имеется специальная smb комманда для копирования и все просиходит удаленно на той машине где лежит файлик?


Специальная команда для удалённого копирования конечно же есть — FSCTL_SRV_COPYCHUNK называется. При её использовании копирование происходит в пределах сервера, А если на сервере ещё и ФС подходящая, например, brtfs, то происходит моментальное обновление метаинформации, что работает даже быстрее копирования. Разумеется в обоих случаях никакое содержимое файла по сети не передаётся.
Собственно, тут важно только одно — команда FSCTL_SRV_COPYCHUNK должна поддерживаться и сервером и клиентом. Начиная с некоторой версии и в Explorer и в Samba такая поддержка есть. Но если у тебя старые версии клиента или сервера, то увы, данные будут гоняться по сети туда-сюда.
Re[2]: копирование удаленных файлов
От: zaufi Земля  
Дата: 24.09.13 16:52
Оценка:
Здравствуйте, watchmaker, Вы писали:

W>Собственно, тут важно только одно — команда FSCTL_SRV_COPYCHUNK должна поддерживаться и сервером и клиентом. Начиная с некоторой версии и в Explorer и в Samba такая поддержка есть. Но если у тебя старые версии клиента или сервера, то увы, данные будут гоняться по сети туда-сюда.


_>>А где можно найти подтверждение этому? Моя беда в том, что я не могу ничего найти по этому вопросу. Ни подтверждения ни опровержения.


и проверить все это достаточно легко: тупо заснифать свою сессию (создав в эксплодере копию гигабайнтного файла %)) -- если полился SMB/CIFS траффик --> тебе не повезло
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.