Столкнулся с маленькой проблемкой, помогайте разобраться. Пишу модули ядра (вернее пока только пытаюсь в этом всём разобраться), и модули тестирую на живой рабочей машине. Порядок действий таков - поредактировал исходник -> make -> kldload -> kldunload. В очередной раз по недоглядке вызвал snd_mtxfree с нулём в качестве параметра и в процессе kldload естественно получил kernel panic, комп завис "наглухо", никаких 15 секунд до автоперезагрузки, ctrl+alt+del, в общем только ресет помог. Но главное - файлы, которые изменялись непосредственно перед этим - исходник и объектный файл обнулились (размер=0, внутри пусто), сам скомпиленный модуль (.ko) вообще пропал.
Работает gmirror. SU+J включено. Вопрос - что сделать, чтобы подобное с файлами не повторялось? Пожалуйста не предлагайте виртуалки и резервные копии - это понятно, нужно именно разобраться, а то ведь могут и свет рубануть пока диссертацию набиваешь...
Код: Выделить всё
uname -a
FreeBSD ---.-- 10.0-RELEASE FreeBSD 10.0-RELEASE #3: Mon May 19 09:07:01 MSK 2014 ---@---.--:/usr/obj/usr/src/sys/WORKHORSE amd64Код: Выделить всё
tunefs -p /dev/mirror/gm0s1f
tunefs: POSIX.1e ACLs: (-a) disabled
tunefs: NFSv4 ACLs: (-N) disabled
tunefs: MAC multilabel: (-l) disabled
tunefs: soft updates: (-n) enabled
tunefs: soft update journaling: (-j) enabled
tunefs: gjournal: (-J) disabled
tunefs: trim: (-t) disabled
tunefs: maximum blocks per file in a cylinder group: (-e) 4096
tunefs: average file size: (-f) 16384
tunefs: average number of files in a directory: (-s) 64
tunefs: minimum percentage of free space: (-m) 8%
tunefs: space to hold for metadata blocks: (-k) 6408
tunefs: optimization preference: (-o) time
tunefs: volume label: (-L)