Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Ilmar S. Habibulin                   2:5020/400     24 Oct 2001  09:16:27
 To : All
 Subject : как в ядре писать на диск?
 -------------------------------------------------------------------------------- 
 
 Может кто наставит на путь истинный? Хочу сделать затирание свопа после
 освобождения его процессом, т.е. конкретных страниц, но никак не пойму,
 каким образом правильно создать обнулённый буфер и записать его в нужное место
 на разделе. По идее известен номер блока на устройстве, размер обнуляемого
 пространства равен одной странице. Используемая ось - фря 2.2 или -current.
 пробовал нечто вроде (код для двойки): 
 
   bp = getpbuf();
   bp->b_blkno = номер;
   bp->b_data = nulldata[PAGE_SIZE];
   /* вот здесь не разобрался */
   bp->b_flags = B_PAGING | B_WRITEINPROG;
   bp->b_bcount = PAGE_SIZE;
   pbgetvp(...)
 
   s = splbio();
   VOP_STRATEGY(bp);
   
   /* проверка выполнения операции */
   splx(s);
 
   relpbuf(bp);
 
 Может кто знает, где я могу ошибаться или что посмотреть? Или приведёт код для
 любой из перечисленных систем. Можно мылом пообщаться ilmar@watson.org.NOSPAM.
 спасибо.
 --- ifmail v.2.15dev5
  * Origin: Internet SUXX (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 как в ядре писать на диск?   Ilmar S. Habibulin   24 Oct 2001 09:16:27 
Архивное /ru.unix.bsd/91040433bb40.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional