[PATCH] implemented DAV copy hardlinks

arut at qip.ru arut at qip.ru
Tue Oct 16 17:05:57 UTC 2012


On 10/16/2012 07:40 PM, Gena Makhomed wrote:
> On 16.10.2012 15:52, Roman Arutyunyan wrote:
>
>> Новая версия патча. Вроде учел все замечания.
>> Опция называется 'dav_copy_hardlink'.
>> Если у кого-то есть идеи получше касательно названия, предлагайте.
>
> почему нельзя сделать новый http метод, например, HARDLINK ?
такого метода нет в стандарте, его не поддерживают клиенты.
кроме того, его придется протаскивать через весь nginx, заводить 
константы итд.
в отдельном бранче, конечно, можно сделать все, что угодно.
>
> тогда решение о том, когда делать копию файла,
> а когда добавлять к файлу еще одно имя будет принимать клиент,
> и у него останется возможность как делать копии файлов,
> так и делать несколько имен для одного и того же файла.
это большой вопрос, должен ли клиент принимать такие решения
>
> hardlink и copy - это ведь разные по своей семантике операции,
> зачем их смешивать и прятать обе за одним и тем же методом COPY ?
если вы никогда не редактируете файлы, разницы нет
>
> по крайней мере, такое расширение (новый метод HARDLINK)
> не будет нарушением уже существующего стандарта:
> http://tools.ietf.org/html/rfc4918#section-9.8
> который требует, чтобы метод COPY всегда создавал копию ресурса:
>
>    Subsequent alterations
>    to the destination resource will not modify the source resource.
>    Subsequent alterations to the source resource will not modify the
>    destination resource.
что считать alteration? думаю, речь идет о модификации метаданных
(всякие там etags итд) и об удалении. никаких других изменений через
вебдав не сделаешь, а упомянутые изменения отлично согласуются
с хардлинками.
>
> P.S. хотя, возможно предполагалось, что вместо хардлинков
> будет использоваться 302 код с редиректом на основное имя
> - это очень похоже на символьные линки в unix`овых FS.
>



Подробная информация о списке рассылки nginx-ru