Можно ли удалить разрешение каталога `d`

Я разместил тот же вопрос на форуме Cumulus Networks; Дэвид Ахерн (автор большей части кода VRF в ядре )ответил:

IPv4 multicast packets can be received on a VRF device -- an unintended side effect leveraged by a user and so not able to make that change. In general multicast and linklocal (IPv6) are meant to be tied to the real device, not the VRF device. Meaning, packet transmit has to be done on the enslaved device. Trying to send packets to an mcast address via the VRF device are not replicated per enslaved device.

Or at least that is how I remember it working.

Теперь это работает в v4.17 с привязкой сокета к интерфейсу вместо VRF при отправке многоадресного IP-адреса.

-1
19.08.2020, 08:31
1 ответ

d — это не разрешение, это тип файла. В исторической реализации файловой системы Unix тип и разрешение были объединены в 16-битном полеmodeструктуры узла i -¹, и, вероятно, поэтому stat(2)API(st_modeполе )и lslong output также объединяет их.

Но изменить тип невозможно. Хотя изначально данные каталога хранились так же, как и обычные файлы, и не были непрозрачны для пользователя -, в наши дни они непрозрачны (, и вы используете специальные системные вызовы для чтения содержимого или добавления/удаления/переименования записей вместо чтения и запись содержимого каталога напрямую ), а в некоторых файловых системах данные каталога даже не хранятся так же, как для файлов, поэтому изменение типа имеет еще меньше смысла.


¹ разрешения в младших 12 битах, тип кодирования старших битов и больше внутренних вещей FS, эти другие вещи перемещены в новое отдельное поле i_flagв V7 в конце 70-х.

2
18.03.2021, 23:11

Теги

Похожие вопросы