LINUX.ORG.RU

«Хитрая» файловая система


0

1

Если такое в природе не знаю, но хочется. Файловая система, которая хранит данные на разделе и доступна на запись. В случае записи данные хранятся в оперативной памяти и сохраняются только по команде (типа sync). Если команды нет, то перезагрузка приведет к полной потере изменений. Т.е. что-то среднее между tmpfs и обычной файловой системой.

★★

Мой Flash-диск так и работает. Копирую я туда text.doc. 100% завершено, а на ней огонёк не загорался. Жму «отмонтировать». Усиленное перемигивание лампочкой, затем сообщение системы что модно отключать.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

>Мой Flash-диск так и работает.

Чем копируешь? Нормальные FM вызывают ещё и sync() при этом, чтобы не было такого. И через время всё равно ядро само должно сбросить буферы на диск.

gentoo_root ★★★★★
()

Можно обьединить обычный раздел и tmpfs при помощи unionfs. Так чтобы обычный раздел был как ro, а измененные файлы записывались на tmpfs.

Еще можно со снапшотами lvm помутить,но здесь я не уверен (не пользовался)

Rost ★★★★★
()
Ответ на: комментарий от xorik

tmpfs + rsync по команде, не?


Например, как это провернуть с корневой ФС? Ведь так для чтения ФС была бы доступна сразу, а с tmpfs придется сначала монтировать обычную файловую систему, затем все перекопировать с нее в tmpfs и лишь потом использовать.

olegk ★★
() автор топика
Ответ на: комментарий от gentoo_root

>Мой Flash-диск так и работает.


Чем копируешь? Нормальные FM вызывают ещё и sync() при этом, чтобы не >было такого. И через время всё равно ядро само должно сбросить буферы >на диск.


Вот и я про тоже подумал.

olegk ★★
() автор топика
Ответ на: забыл сказать от Rost

в первом случае для синхронизации надо будет просто использовать mv :)


Это да! Только системе с чего-то загрузится надо (сам mv надо откуда-то считать). То есть для корневой системы не подходит.

olegk ★★
() автор топика

Любая fs + tmpfs через unionfs. Я так баловался с кешами для браузеров.

Ищи готовые рецепты.

KRoN73 ★★★★★
()
Ответ на: комментарий от sdio

Не совсем embeded, но c compact flash (не embeded, т.к. приличная производительность 1 ГГц, 512 МБ RAM) . Уже давно парюсь, как концептуально лучше сделать.

olegk ★★
() автор топика
Ответ на: комментарий от olegk

olegk> но c compact flash

посмотри на voyage linux — там это организовано для работы с CF — fs readonly + copy to tmpfs (сохранение изменений rsync'ом)

смысл смотреть voyage linux — готовые скрипты

sdio ★★★★★
()

Как бы сказать так все файловые системы работают, а вот записывать и не записывать решает драйвер/ядро

deterok ★★★★★
()
Ответ на: комментарий от ZenitharChampion

>старого KDE.

Это, видимо, и причина, хотя я уже не помню, как там было, давно в третьекеды не ходил. А ещё можно монтировать с sync, но скорость уменьшится в 10 раз и флешка быстрее сотрётся, но зато будет сразу размонтироваться (в принципе, можно и так выдёргивать, а в правило udev прописать umount -l).

gentoo_root ★★★★★
()
Ответ на: комментарий от deterok

Как бы сказать так все файловые системы работают, а вот записывать и не записывать решает драйвер/ядро


Это понятно, только мне надо, чтобы я решал.

olegk ★★
() автор топика
Ответ на: комментарий от sdio

посмотри на voyage linux — там это организовано для работы с CF — fs readonly + copy to tmpfs (сохранение изменений rsync'ом)


Я погуглил и так и нашел на него нормально описание. Чтобы для начала концепцию понять.

Нашел только http://linux.voyage.hk/content/getting-started-v07x


Но это слишком кратко.

3.11 voyage-sync script
=======================

Starting from 0.6, the legacy /ro and /rw directories will be replaced by
voyage-sync script, which is located under /etc/init.d/. At boot, /var/tmp
and /var/log are by default mounted under tmpfs. All the changes will be
synchronized back to disk at shutdown. To sync back to disk manually while
running, run:

# remountrw
# /etc/init.d/voyage-sync sync
# remountro

If you want to add more directories to tmpfs, modify VOYAGE_SYNC_DIRS in
/etc/default/voyage-util.

For more information on the usage, please read /etc/default/voyage-util.

olegk ★★
() автор топика
Ответ на: комментарий от deterok

Тогда прислушайся к самому первому коменту, достаточно простое и элегантное решение


Я прислушался и написал, что не понимаю, как можно использовать это решение для корневой системы.

olegk ★★
() автор топика
Ответ на: комментарий от olegk

>Нормальные FM вызывают ещё и sync() при этом

На счёт нормальности такого поведения я бы поспорил, но если в этом проблема, можно подгрузить libnosync.so.

aidaho ★★★★★
()
Ответ на: комментарий от ZenitharChampion

FAT

>Мой Flash-диск так и работает.

Я так понимаю, у вас flash-драйв в FAT форматирован? Если да, то такое поведение vfat'а является нормой.

intelfx ★★★★★
()

внезапное отключение питания будет весьма кстати

xtraeft ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.