LINUX.ORG.RU
ФорумTalks

мысли вслух...


0

0

Интересно, почему в любых файловых системах при удалении каталога с кучей подкаталогов и файлов, последовательно удаляется каждый файл? Почему нельзя просто поставить на самый верхний каталог флажок что он удалён и игнорировать его и всё что в нём есть про поиске и прочих операциях с файловой таблицей?

anonymous

а кто деаллокейтить место будет? игнор-игнором, а ось должна знать, куда писать можно, а куда нельзя. не будет же она во время записи наместо одного из файлов, находящихся в удалённом каталоге проходить всё дерево до метки удаления каталога, чтобы начать запись? а если метку затрут? бред и потеря ёмкости получится. да и ваще я ща нагнал, надо по другому объяснять

anonymous
()

Наверное потому что удаление это не удаление, как таковое, а уменьшение кол-ва имён, ссылающихся на данный файл. В смысле непонятно, как поддерживать удаление hardlink-ов.

Legioner ★★★★★
()

Такую галочку надо ставить на все сектора, на которых располагается поддерево

anonymous
()

Вопрос риторический, хочешь что-то изменить - рфц тебе в зубы плюс фантазия и упорство! :-)

MiracleMan ★★★★★
()

А вот такая мысль вслух, сделать бы, чтобы при удалении файла он перемещался в какой-нибудь /paradise/ и лежал бы там, а если места на диске маловато, то удалялся бы физически. Ну и чтобы это всё делалось прозрачно для пользователя.

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

такую приблуду написать что под лялих - скрипт в пару строчек, что под винду - прогу в пару окон на С шарп, не сложно.

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

которая будет удалять из корзины - согласен, только надо сначала разобраться с тем, что именно удалять, да и нафиг, ведь когда что-то потребуется оно наверняка будет удалено из-за закончевшегося места, так что придется как-то приоритеты на удаления раздавать, а под лялих надо еще rm переписать, чтоб складывал все в корзину, но имхо это все нафиг ненадо:)

anonymous
()

В некоторых ОС (не Linux) системный вызов unlink может удалить сразу целое дерево каталогов, но занимаемое место не освобождается до следующей перезагрузки.
Чтобы такого безобразия не было, и удаляют по одному файлу.

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

konqueror переписывать?!?!?! если хоца из ком строки - заменяешь rm на свой баш скрипт

anonymous
()

Про ФС ещё одна мысль - есть в природе ФС без секторов/кластеров? Ну т.е. в файловую таблицу просто пишется имя файла, адрес начала, адрес конца... Адрес само собой с точностью до байта.

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

в случае десктопа "до перезагрузки" - не сильно актуально, аптайм достаточно короткий, жаль в линухе нет

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

> жаль в линухе нет

ну выигрыш то не очень, выигрываем на rm, проигрываем на скажем "tar".

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

А если изменили размер файла, и сразу за ним начинается следующий, то что делать? С точностью до байта писать координаты следующего блока?

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

> Ну так пусть пишет поверх - он ж уже удалённое.

Для начала его нужно пометить как удалённое.

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

> с точностью до байта.

до байта врядли, слишком медленно работать будет, а вот первый и последний блок...

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

Писать на свободное место подходящего размера, в случае чего - дефрагментация. Ни одного байта впустую. :)

anonymous
()

Ну в принципе реально, токо надо ядро ковырять.

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

Зато слишком много тактов впустую. Такая прибайдень была на магнитных лентах, но люди почему-то шибко и радостно перебрались на диски...

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