[sisyphus] unable to eject

Alexey Rusakov =?iso-8859-1?q?ktirf_=CE=C1_altlinux=2Eru?=
Пн Фев 7 19:32:42 MSK 2005


Hi all,

С тех пор как обзавёлся udev, наблюдаю странное поведение eject. Из-под 
пользователя попытка сделать eject /dev/cdrom/cdwriter0 (так же как и на 
/dev/cdrom) приводит к сообщению:
eject: unable to eject, last error: Invalid argument
То же самое сообщение появляется при выполнении команды от root, с той 
разницей, что привод всё-таки открывается.
Запуск eject под strace показывает следующую вещь (цитирую только 
релевантный кусок):

open("/dev/cdroms/cdwriter0", O_RDONLY|O_NONBLOCK) = 3
ioctl(3, CDROMEJECT, 0xbffff758)        = -1 EIO (Input/output error)
ioctl(3, FIBMAP, 0xbffff600)            = -1 EPERM (Operation not permitted)
ioctl(3, FDEJECT, 0xbffff758)           = -1 EINVAL (Invalid argument)
ioctl(3, MGSL_IOCGPARAMS or MTIOCTOP or SNDCTL_MIDI_MPUMODE, 0xbffff710) 
= -1 EINVAL (Invalid argument)

Этот же кусок из-под root выглядит так:

open("/dev/cdroms/cdwriter0", O_RDONLY|O_NONBLOCK) = 3
ioctl(3, CDROMEJECT, 0xbffff808)        = -1 EIO (Input/output error)
ioctl(3, FIBMAP, 0xbffff6b0)            = 0
ioctl(3, FIBMAP, 0xbffff6b0)            = 0
ioctl(3, FIBMAP, 0xbffff6b0)            = 0
ioctl(3, BLKRRPART, 0xbffff6b0)         = -1 EINVAL (Invalid argument)
ioctl(3, FDEJECT, 0xbffff808)           = -1 EINVAL (Invalid argument)
ioctl(3, MGSL_IOCGPARAMS or MTIOCTOP or SNDCTL_MIDI_MPUMODE, 0xbffff7c0) 
= -1 EINVAL (Invalid argument)

Кто-нибудь может прокомментировать, что происходит, и что нужно сделать, 
чтобы ioctl(CDROMEJECT) не давал EIO?

-- 
  Alexey "Ktirf" Rusakov



Подробная информация о списке рассылки Sisyphus