summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshihiro Takahashi <nyan@FreeBSD.org>2007-10-24 12:03:48 +0000
committerYoshihiro Takahashi <nyan@FreeBSD.org>2007-10-24 12:03:48 +0000
commit1c44b03ee9dbe834d53e511d0f141dfd481f0848 (patch)
tree51697dcee105ea1af57f3f26a77273477cd0c4b6
parent18a60bb546fcc414a53c69e7d44e0d6a8dd92958 (diff)
Notes
-rw-r--r--sys/boot/pc98/libpc98/biosdisk.c69
1 files changed, 30 insertions, 39 deletions
diff --git a/sys/boot/pc98/libpc98/biosdisk.c b/sys/boot/pc98/libpc98/biosdisk.c
index d23d474d02b1..8afcee9f2bd6 100644
--- a/sys/boot/pc98/libpc98/biosdisk.c
+++ b/sys/boot/pc98/libpc98/biosdisk.c
@@ -681,59 +681,50 @@ bd_realstrategy(void *devdata, int rw, daddr_t dblk, size_t size, char *buf, siz
#endif
DEBUG("open_disk %p", od);
-
-
- switch(rw){
- case F_READ:
blks = size / BIOSDISK_SECSIZE;
- DEBUG("read %d from %d to %p", blks, dblk, buf);
-
if (rsize)
*rsize = 0;
- if (blks && bd_read(od, dblk, blks, buf)) {
- DEBUG("read error");
- return (EIO);
- }
+
+ switch(rw){
+ case F_READ:
+ DEBUG("read %d from %d to %p", blks, dblk, buf);
+
+ if (blks && bd_read(od, dblk, blks, buf)) {
+ DEBUG("read error");
+ return (EIO);
+ }
#ifdef BD_SUPPORT_FRAGS
- DEBUG("bd_strategy: frag read %d from %d+%d to %p",
- fragsize, dblk, blks, buf + (blks * BIOSDISK_SECSIZE));
- if (fragsize && bd_read(od, dblk + blks, 1, fragsize)) {
- DEBUG("frag read error");
- return(EIO);
- }
- bcopy(fragbuf, buf + (blks * BIOSDISK_SECSIZE), fragsize);
+ DEBUG("bd_strategy: frag read %d from %d+%d to %p",
+ fragsize, dblk, blks, buf + (blks * BIOSDISK_SECSIZE));
+ if (fragsize && bd_read(od, dblk + blks, 1, fragsize)) {
+ DEBUG("frag read error");
+ return(EIO);
+ }
+ bcopy(fragbuf, buf + (blks * BIOSDISK_SECSIZE), fragsize);
#endif
- if (rsize)
- *rsize = size;
- return (0);
- break;
-
- case F_WRITE :
- blks = size / BIOSDISK_SECSIZE;
- DEBUG("write %d from %d to %p", blks, dblk, buf);
+ break;
+ case F_WRITE :
+ DEBUG("write %d from %d to %p", blks, dblk, buf);
- if (rsize)
- *rsize = 0;
- if (blks && bd_write(od, dblk, blks, buf)) {
- DEBUG("write error");
- return (EIO);
- }
+ if (blks && bd_write(od, dblk, blks, buf)) {
+ DEBUG("write error");
+ return (EIO);
+ }
#ifdef BD_SUPPORT_FRAGS
if(fragsize) {
- DEBUG("Attempted to write a frag");
- return (EIO);
+ DEBUG("Attempted to write a frag");
+ return (EIO);
}
#endif
+ break;
+ default:
+ /* DO NOTHING */
+ return (EROFS);
+ }
if (rsize)
*rsize = size;
return (0);
- default:
- /* DO NOTHING */
- break;
- }
-
- return EROFS;
}
/* Max number of sectors to bounce-buffer if the request crosses a 64k boundary */