Subject: Re: fd hard errors
To: Wojciech Puchar <wojtek@tensor.3miasto.net>
From: Julio Merino <jmmv@menta.net>
List: tech-kern
Date: 12/04/2002 21:33:50
This is a multi-part message in MIME format.

--Multipart_Wed__4_Dec_2002_21:33:50_+0100_081ada00
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi,

> > mount: block device /dev/fd0 is write-protected, mounting read-only
> > pc:~#
> >
> >
> > And if you try to open /dev/fd0 read-write when  a write-protected
> > floppy is in the drive, the open() call will fail with EROFS.

I haven't got very far yet patching fd.c, but at least implemented this
EROFS acknowledgement. This information can be received issuing the
SENSED command, which does not require doing any read nor write
explicetly.

Now, trying to mount a read-only floppy, will fail with EROFS...
(but trying to write directly to the device does not recognize this...)
Patch attached. What do you think?

Thanks

-- 
Julio Merino (http://jmmv.dyndns.org/) <jmmv@menta.net>

--Multipart_Wed__4_Dec_2002_21:33:50_+0100_081ada00
Content-Type: application/octet-stream;
 name="patch.diff"
Content-Disposition: attachment;
 filename="patch.diff"
Content-Transfer-Encoding: base64

SW5kZXg6IGZkLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3lzc3JjL3N5cy9kZXYv
aXNhL2ZkLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzEKZGlmZiAtdSAtdSAtcjEuMzEgZmQu
YwotLS0gZmQuYwkyMDAyLzExLzAxIDExOjMxOjU3CTEuMzEKKysrIGZkLmMJMjAwMi8xMi8wNCAy
MDoyNzoyMgpAQCAtMzA5LDYgKzMwOSw3IEBACiB2b2lkIGZkZmluaXNoIF9fUCgoc3RydWN0IGZk
X3NvZnRjICpmZCwgc3RydWN0IGJ1ZiAqYnApKTsKIF9faW5saW5lIGNvbnN0IHN0cnVjdCBmZF90
eXBlICpmZF9kZXZfdG9fdHlwZSBfX1AoKHN0cnVjdCBmZF9zb2Z0YyAqLCBkZXZfdCkpOwogaW50
IGZkZm9ybWF0IF9fUCgoZGV2X3QsIHN0cnVjdCBuZTdfZmRfZm9ybWIgKiwgc3RydWN0IHByb2Mg
KikpOwordV9jaGFyIGZkZ2V0c3QzIF9fUCgoc3RydWN0IGZkX3NvZnRjICpmZCkpOwogCiB2b2lk
CWZkX21vdW50cm9vdF9ob29rIF9fUCgoc3RydWN0IGRldmljZSAqKSk7CiAKQEAgLTgzNSw2ICs4
MzYsNyBAQAogewogCXN0cnVjdCBmZF9zb2Z0YyAqZmQ7CiAJY29uc3Qgc3RydWN0IGZkX3R5cGUg
KnR5cGU7CisJdV9jaGFyIHN0MzsKIAogCWZkID0gZGV2aWNlX2xvb2t1cCgmZmRfY2QsIEZEVU5J
VChkZXYpKTsKIAlpZiAoZmQgPT0gTlVMTCkKQEAgLTg1Myw2ICs4NTUsMTEgQEAKIAlmZC0+c2Nf
Y3lsaW4gPSAtMTsKIAlmZC0+c2NfZmxhZ3MgfD0gRkRfT1BFTjsKIAorCXN0MyA9IGZkZ2V0c3Qz
KGZkKTsKKwlpZiAoKHN0MyAmIDB4NDApICE9IDApIHsKKwkJLyogQ3VycmVudCBmbG9wcHkgaXMg
cmVhZCBvbmx5ICovCisJCXJldHVybiBFUk9GUzsKKwl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1
NzUsNiArMTU4MiwyMSBAQAogCX0KIAlmcmVlKGJwLCBNX1RFTVApOwogCXJldHVybiBydjsKK30K
KwordV9jaGFyCitmZGdldHN0MyhmZCkKKwlzdHJ1Y3QgZmRfc29mdGMgKmZkOworeworCXN0cnVj
dCBmZGNfc29mdGMgKmZkYyA9ICh2b2lkICopZmQtPnNjX2Rldi5kdl9wYXJlbnQ7CisJYnVzX3Nw
YWNlX3RhZ190IGlvdCA9IGZkYy0+c2NfaW90OworCWJ1c19zcGFjZV9oYW5kbGVfdCBpb2ggPSBm
ZGMtPnNjX2lvaDsKKworCW91dF9mZGMoaW90LCBpb2gsIE5FN0NNRF9TRU5TRUQpOwkvKiBEcml2
ZSBpbmZvcm1hdGlvbiAqLworCW91dF9mZGMoaW90LCBpb2gsIGZkLT5zY19kcml2ZSAmIDB4MDMp
OwkvKiBTZWxlY3QgZHJpdmUgKi8KKworCSh2b2lkKSBmZGNyZXN1bHQoZmRjKTsKKwlyZXR1cm4g
ZmRjLT5zY19zdGF0dXNbMF07CiB9CiAKIC8qCg==

--Multipart_Wed__4_Dec_2002_21:33:50_+0100_081ada00--