From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4207982A.9030203@altlinux.ru> Date: Mon, 07 Feb 2005 19:32:42 +0300 From: Alexey Rusakov User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050202 Thunderbird/1.0 Mnenhy/0.7 X-Accept-Language: en-us, en MIME-Version: 1.0 To: ALT Linux Sisyphus discussion list Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [sisyphus] unable to eject X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 16:32:43 -0000 Archived-At: List-Archive: 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