Что, как примеры, может произвести POLLNVAL?

[116318] Вы, очевидно, предпочитаете решение SAN. Помимо уже упомянутых iSCSI и NBD, у вас также есть AoE (ATA через ethernet) подход.

  • Это очень просто сделать:
  • На стороне обслуживания вам нужно
  • На стороне клиента

Ваши устройства находятся в

Где [116791]e0.0[116792] - это ваши [116793]/dev/sdc[116794] и [116795]e0.0. p1[116796] - это [116797]/dev/sdc1

dmesg[116800] на сервере:

dmesg[116802] вывод на клиенте:

Довольно просто.

Дополнительные примечания

vbladed[117019] - это часть пакета [117020]vblade[117021] на Fedora & Ubuntu, вероятно, такая же как и на других дистрибутивах.

aoe-обнаружение[117023] и [117024]aoe-стат[117025] также являются частью пакета [117026]aoetools[117027] на Fedora & Ubuntu.

Устройство отображается в [117028]fdisk[117029] в виде блочного устройства, например, [117030]/dev/etherd/e0. 0[117031].

Версия [117032]vblade[117033], доступная в репозиториях F19 и F20, довольно датирована, это версия 14. На странице проекта ATAoE доступна версия 21. Для Fedora 19 x86_64 доступен обновлённый RPM [117034] здесь[117035].

2
28.02.2015, 04:58
1 ответ

PollNVal устанавливается, если номер дескриптора файла не соответствует дескриптору файлов.

Я не знаю, наверняка, почему это поведение было выбрано, а не наличие Опрос Возврат ошибки. Причина, возможно, была простота реализации: он позволяет реализовать циркулировать на массиве прохождения struct Pollfd одно время, без необходимости справиться с ранним возвратом, где некоторые элементы массива были бы изменены и другие нет.

Также возможно, что причина была удобной программистом. Поскольку вызов Опрос На неверном файловом дескрипторе не ошибка, можно закрыть дескриптор файла и все еще включать его в массив. Это удобство имеет ограниченный интерес: вы можете сделать это, пока вы не открываете какой-либо другой файл (потому что он может повторно использовать дескриптор файла), и вы все еще платите (крошечный) штраф производительности для элемента массива. Он может быть полезен в многопоточной программе, где один поток может вызывать в , в то время как другой нить занимается вызовом Call или собирается сделать это: это не ошибка, опрос Нить только должна быть уведомлена до открытия .

2
27.01.2020, 22:12

Теги

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