From: Petr Vandrovec <vandrove@vc.cvut.cz>
To: viro@math.psu.edu
Cc: linux-kernel@vger.kernel.org, torvalds@transmeta.com
Subject: [PATCH] IDE cleanup (1.612) broke all fdisks I have...
Date: Thu, 5 Sep 2002 20:13:50 +0200 [thread overview]
Message-ID: <20020905181350.GA1822@vana.vc.cvut.cz> (raw)
Hi Al,
it is nice that blkdev_ioctl calls blk_ioctl itself, but unfortunately
it does that only if driver's ioctl returns -EINVAL - and IDE returns -EIO :-(
Patch below is tested for disks - I do not have IDE floppy nor IDE tape.
I have couple of additional questions:
(1) should not we use -ENOTTY for unimplemented ioctl, like other subsystems do?
(2) IDE returns -EIO also for default_open. -ENXIO/-ENODEV?
(3) if drive->driver == NULL, ioctl returns -EPERM. I believe that this check
is not needed because of ide_open checks for drive->driver != NULL. And
if we can invoke ide's ioctl without previous open, should not we return
-ENODEV?
Thanks,
Petr Vandrovec
vandrove@vc.cvut.cz
diff -urN linux-2.5.33-c615.dist/drivers/ide/ide-floppy.c linux-2.5.33-c615/drivers/ide/ide-floppy.c
--- linux-2.5.33-c615.dist/drivers/ide/ide-floppy.c 2002-09-05 14:40:47.000000000 +0200
+++ linux-2.5.33-c615/drivers/ide/ide-floppy.c 2002-09-05 20:06:24.000000000 +0200
@@ -1817,7 +1817,7 @@
return (idefloppy_get_format_progress(drive, inode, file,
(int *)arg));
}
- return -EIO;
+ return -EINVAL;
}
/*
diff -urN linux-2.5.33-c615.dist/drivers/ide/ide-tape.c linux-2.5.33-c615/drivers/ide/ide-tape.c
--- linux-2.5.33-c615.dist/drivers/ide/ide-tape.c 2002-09-05 14:40:43.000000000 +0200
+++ linux-2.5.33-c615/drivers/ide/ide-tape.c 2002-09-05 20:06:11.000000000 +0200
@@ -4365,7 +4365,7 @@
return -EFAULT;
break;
default:
- return -EIO;
+ return -EINVAL;
}
return 0;
}
diff -urN linux-2.5.33-c615.dist/drivers/ide/ide.c linux-2.5.33-c615/drivers/ide/ide.c
--- linux-2.5.33-c615.dist/drivers/ide/ide.c 2002-09-05 14:40:42.000000000 +0200
+++ linux-2.5.33-c615/drivers/ide/ide.c 2002-09-05 19:58:15.000000000 +0200
@@ -3347,7 +3347,7 @@
static int default_ioctl (ide_drive_t *drive, struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
- return -EIO;
+ return -EINVAL;
}
static int default_open (struct inode *inode, struct file *filp, ide_drive_t *drive)
next reply other threads:[~2002-09-05 18:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-05 18:13 Petr Vandrovec [this message]
2002-09-05 22:53 ` Andre Hedrick
2002-09-05 23:39 ` Alexander Viro
2002-09-06 10:30 Petr Vandrovec
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=20020905181350.GA1822@vana.vc.cvut.cz \
--to=vandrove@vc.cvut.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
--cc=viro@math.psu.edu \
/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
all inboxes | Powered by JetHome®