From: Daniel Drake <dsd@gentoo.org>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Maarten Bressers <mbres@gentoo.org>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
axboe@kernel.dk, tasio@hierro.tasio.net
Subject: Re: [PATCH] sr: update to follow tray status correctly
Date: Wed, 06 Feb 2008 17:09:26 +0000 [thread overview]
Message-ID: <47A9E9C6.4000802@gentoo.org> (raw)
In-Reply-To: <1199551191.3399.29.camel@localhost.localdomain>
[-- Attachment #1: Type: text/plain, Size: 959 bytes --]
Hi James,
James Bottomley wrote:
> It's been a while with no status on this one, so I corrected the patch
> based on my original input. The attached is what I think is the best
> way of doing this (I've replaced the home grown test_unit_ready routine
> with the SCSI one and updated some of the sense check conditions).
Many thanks for following up on this. The user has not responded to my
request for him to test your patch, so I decided to try it myself. I'm
using Linus git as of today, I noticed the patch is merged.
It doesn't work for me. On unpatched 2.6.24, I get the behaviour
previously described - the ioctl always gives CDS_TRAY_OPEN regardless
of tray status. On 2.6.24-git which includes your patch, I instead
always get CDS_DISC_OK. I have confirmed that on 2 systems this is
because scsi_test_unit_ready() is returning 0.
Before I dig further, does this work for you? I have attached the test
program I am using.
Thanks!
Daniel
[-- Attachment #2: test.c --]
[-- Type: text/plain, Size: 684 bytes --]
#include <sys/ioctl.h>
#include <sys/types.h>
#include <fcntl.h>
#include <linux/cdrom.h>
#include <unistd.h>
#include <stdio.h>
int main(void)
{
int fd = open("/dev/sr0", O_RDONLY | O_NONBLOCK);
int ret;
if (fd < 0) {
perror("open");
return 1;
}
ret = ioctl(fd, CDROM_DRIVE_STATUS, 0);
printf("ioctl result %d\n", ret);
switch(ret) {
case CDS_NO_INFO: printf("CDS_NO_INFO\n"); break;
case CDS_NO_DISC: printf("CDS_NO_DISC\n"); break;
case CDS_TRAY_OPEN: printf("CDS_TRAY_OPEN\n"); break;
case CDS_DRIVE_NOT_READY: printf("CDS_DRIVE_NOT_READY\n"); break;
case CDS_DISC_OK: printf("CDS_DISC_OK\n"); break;
default: printf("Unknown\n"); break;
}
return 0;
}
next prev parent reply other threads:[~2008-02-06 17:08 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-27 22:58 [PATCH RESEND] SCSI not showing tray status correctly Maarten Bressers
2007-10-31 3:32 ` James Bottomley
2008-01-05 16:39 ` [PATCH] sr: update to follow " James Bottomley
2008-02-06 17:09 ` Daniel Drake [this message]
2008-02-06 19:01 ` James Bottomley
2008-02-06 20:54 ` Daniel Drake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47A9E9C6.4000802@gentoo.org \
--to=dsd@gentoo.org \
--cc=James.Bottomley@HansenPartnership.com \
--cc=axboe@kernel.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mbres@gentoo.org \
--cc=tasio@hierro.tasio.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox