>Видать в скором времени смогу поставить галку около "NTFS write support" с уверенностью в том, что этот самый write будет полностью работать
Вообще говоря, с уверенностью писать можно только через captive ntfs, да и то только тогда, когда используется в точности тот же .dll, что и в самой винде.
Наверное поддержка будет действительно полной, если можно будет поставить линукс на ntfs так же как на ext2/3, да ещё реально работать будет. Но всё равно, молодцы.
>Наверное поддержка будет действительно полной, если можно будет поставить линукс на ntfs так же как на ext2/3, да ещё реально работать будет. Но всё равно, молодцы.
Ещё бы юниксовые права работали на NTFS, симлинки (хардлинки там уже есть), КеЙс и спецфайлы.
Может кто-нибудь пробовал делать следующие(может конечно немного извратно) : т.к. на ntfs писать можно, нельзя только создавать файлы и менять размер, то теоретически можно создать образ раздела с линуксом и загрузить его( как было с zipslack'om правда на фате ).
а на фате раздел не покатит? Или некошерно это, фат юзать? Оно конечно дрянишка и тормозное, но если на фате не держать особо мелких файлов то покатит..
>Может кто-нибудь пробовал делать следующие(может конечно немного извратно) : т.к. на ntfs писать можно, нельзя только создавать файлы и менять размер, то теоретически можно создать образ раздела с линуксом и загрузить его( как было с zipslack'om правда на фате ).
> Ещё бы юниксовые права работали на NTFS, симлинки (хардлинки там уже есть), КеЙс и спецфайлы.
Сам я не пробовал, но в литературе упоминается :-), что симлинки, raw devices и case-sensitive файлы в NT есть. Только доступ к ним ведется не обычными функциями Kernel32, а через их аналоги в "NT Native API" aka NTDLL (которая официально почти не документирована, но используется, например, упомянутыми выше читалками ext2 под Windows).
Из всего вышеперечисленного в NTFS есть только жесткие ссылки. Raw devices и символических ссылок там нет и никогда и небыло, правда в ntfs версии 1.2 был атрибут $SYMBOLIC_LINK, но он не использовался, а в nfts 3.0 его вообще убрали. Поддержка posix имен в ntfs есть, но из-за мягко говоря странного проектирования ntfs использовать их практически невозможно. Кроме того nt4 падает в bsod если встречает два файла с posix именами различающимися только регистром букв. Но в принципе всё это можно реализовать только для linux, причём для windows это будет достаточно прозрачно, т.к. ntfs спроектирован так чтобы поддерживать расширения.
Насчёт того что разработка почти не ведется, это не совсем так, разработка ведется, но так как для всех разработчиков ntfs хобби, а не работа, то не всегда получается реализовывать вещи с такой скоростью как этого бы хотелось. Если хотите действительно помочь разработке, то разберитесь в ntfs и присылайте патчи или оплатите кому-нибудь из разработчиков его время, что бы он мог работать над ntfs целый день.
Насчёт будет ли код для изменения размера файлов интегрирован в ядро, ответ: будет, другой вопрос: когда? Этот код для libntfs был практически завершен еще в октябре 2004, но он до сих пор не был интегрирован в ядро, т.к. портирование libntfs<=>kernel не самая тривиальная задача, кроме того в драйвере были некоторые ошибки которые мешали интегрировать этот код. Anton Altaparmokov сейчас работает над этим, но я не знаю когда он закончит. Я сейчас работаю над драйвером на базе FUSE который базируется на libntfs, соотвественно он будет поддерживать изменение размера файлов. Драйвер практически готов и я думаю в течении недели он появиться в CVS. Возможно в нём даже будет создании/удаление файлов, Richard Russon написал достаточно много кода для этого, но потом у него были какие-то проблемы и он временно отошёл от разработки ntfs, сейчас у него опять есть время и возможно он закончит этот код.
Возможно, я не так понимаю термин raw device? Со своей стороны я сам пробовал читать раздел на винте напрямую, через имена типа "\\.\D:", так что ИМХО аналог линуксовых "/dev/hda5" в Винде имеется.
Что же касается symbolic links, то похоже, я не так понял, что делает такая вот функция NTDLL: NtCreateSymbolicLinkObject, упомянутая в www.sysinternals.com/Information/NativeApi.html. Похоже, эти линки таки есть, но они не пишутся на диск.
Да, пути вида \\?\Device\Harddisk<n>\Partition<n> являются аналогами интерфейса /dev/hdXY, но они никак не относятся к NTFS, вы можете использовать их даже на системе в которой нет ни одного NTFS раздела. Они, как кстати и символические ссылки (NtCreateSymbolicLinkObject), реализованы через совершенно другую подсистему - Windows Objects. AFAIU NtCreateSymbolicLinkObject позволяет создавать ссылки не на файлы, а на другие объекты. Если интересно, вот статья в которой рассказывается про Windows Objects - http://www.phrack.org/show.php?p=59&a=16 .