прямая запись на диск
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 09.04.09 15:41
Оценка: +2
Здравствуйте, vasalvit, Вы писали:

V>Есть проблемы при записи в FAT на FAT-томах. Сама запись проходит нормально. Но изменения затираются FASTFAT драйвером, когда он что-нибудь пишет на том.

а чего Вы хотели?

если Вы из своего драйвера пишите напрямую на диск, прокидывая всех остальных в файловом стеке (как минимум), а то еще и в storage (там тоже фильтры живут, и много). Там же не телепаты.

If your application or driver writes directly to a volume that has a file system mounted on it, without first obtaining exclusive access to it, you could cause corruption or system instability, or both. This is because those writes might collide with other changes coming from the file system and leave the contents of the volume or file system, or both in an inconsistent state.


нужно же "работать в команде"

V>Вопрос: Как заставить FASTFAT драйвер обновить свои внутренние структуры/кеш?

Может сначала отмонтировать FS и работать с raw диском? Или залочить\получить эксклюзивный доступ к тому.
Или хотя бы лок на сектора наложить (т.е. дать знать FS что у Вас есть опр. планы) перед изменением.

Короче посмотрите про DASD (Direct Access to Storage Device), см Q100027 ?
сразу говорю, есть нововведения на Висте и выше, см Q942448.

Это пойдет сквозь FS и будет учтено по возможности всеми, кто в файловом стеке и дальше.
Плюс не будет такой явной дыры в безопасности.
--
Напишите лучше что именно на диске и в каком месте модифицируете.
Зачем и почему надо именно напрямую. Что хочется вообще.
И какому устройству (откуда берет) Ваш драйвер запросы шлет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1144>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.