Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Aug 2018 07:59:23 +0100
From:      John Baldwin <jhb@FreeBSD.org>
To:        Warner Losh <imp@bsdimp.com>, Ian Lepore <ian@freebsd.org>
Cc:        Toomas Soome <tsoome@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r337878 - head/stand/i386/libi386
Message-ID:  <05b36083-9f4d-658e-ab39-e8c317d01db7@FreeBSD.org>
In-Reply-To: <CANCZdfpR_v5_ES=XhpKK6GD6Hd7zneObwKQwf40P0aDLxWh=WA@mail.gmail.com>
References:  <201808152225.w7FMP5J2018006@repo.freebsd.org> <1534372134.1466.21.camel@freebsd.org> <CANCZdfpR_v5_ES=XhpKK6GD6Hd7zneObwKQwf40P0aDLxWh=WA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/15/18 11:59 PM, Warner Losh wrote:
> 
> 
> On Wed, Aug 15, 2018 at 4:28 PM, Ian Lepore <ian@freebsd.org <mailto:ian@freebsd.org>> wrote:
> 
>     On Wed, 2018-08-15 at 22:25 +0000, Toomas Soome wrote:
>     > Author: tsoome
>     > Date: Wed Aug 15 22:25:05 2018
>     > New Revision: 337878
>     > URL: https://svnweb.freebsd.org/changeset/base/337878 <https://svnweb.freebsd.org/changeset/base/337878>;
>     >
>     > Log:
>     >   libi386: remove bd_read() and bd_write() wrappers
>     >   
>     >   Those wroappers are nice, but do not really add much value.
>     >
>     > Modified:
>     >   head/stand/i386/libi386/biosdisk.c
>     >
>     > Modified: head/stand/i386/libi386/biosdisk.c
>     > =====================================================================
>     > =========
>     > --- head/stand/i386/libi386/biosdisk.c        Wed Aug 15 21:47:03
>     > 2018  (r337877)
>     > +++ head/stand/i386/libi386/biosdisk.c        Wed Aug 15 22:25:05
>     > 2018  (r337878)
>     > @@ -94,10 +94,7 @@ static int nbdinfo = 0;
>     >  
>     >  static void bd_io_workaround(struct disk_devdesc *dev);
>     >  
>     > -static int bd_read(struct disk_devdesc *dev, daddr_t dblk, int blks,
>     > -    caddr_t dest);
>     > -static int bd_write(struct disk_devdesc *dev, daddr_t dblk, int
>     > blks,
>     > -    caddr_t dest);
>     > +static int bd_io(struct disk_devdesc *, daddr_t, int, caddr_t, int);
>     >  static int bd_int13probe(struct bdinfo *bd);
>     >  
>     >  static int bd_init(void);
>     > @@ -506,7 +503,7 @@ bd_realstrategy(void *devdata, int rw, daddr_t
>     > dblk, s
>     >       case F_READ:
>     >               DEBUG("read %d from %lld to %p", blks, dblk, buf);
>     >  
>     > -             if (blks && (rc = bd_read(dev, dblk, blks, buf))) {
>     > +             if (blks && (rc = bd_io(dev, dblk, blks, buf, 0))) {
>     >                       /* Filter out floppy controller errors */
>     >                       if (BD(dev).bd_flags != BD_FLOPPY || rc !=
>     > 0x20) {
>     >                               printf("read %d from %lld to %p,
>     > error: 0x%x\n",
>     > @@ -518,7 +515,7 @@ bd_realstrategy(void *devdata, int rw, daddr_t
>     > dblk, s
>     >       case F_WRITE :
>     >               DEBUG("write %d from %lld to %p", blks, dblk, buf);
>     >  
>     > -             if (blks && bd_write(dev, dblk, blks, buf)) {
>     > +             if (blks && bd_io(dev, dblk, blks, buf, 1)) {
>     >                       DEBUG("write error");
>     >                       return (EIO);
>     >               }
>     > @@ -713,20 +710,6 @@ bd_io(struct disk_devdesc *dev, daddr_t dblk,
>     > int blks
>     >       }
>     >  
>     >       return (0);
>     > -}
>     > -
>     > -static int
>     > -bd_read(struct disk_devdesc *dev, daddr_t dblk, int blks, caddr_t
>     > dest)
>     > -{
>     > -
>     > -     return (bd_io(dev, dblk, blks, dest, 0));
>     > -}
>     > -
>     > -static int
>     > -bd_write(struct disk_devdesc *dev, daddr_t dblk, int blks, caddr_t
>     > dest)
>     > -{
>     > -
>     > -     return (bd_io(dev, dblk, blks, dest, 1));
>     >  }
>     >  
>     >  /*
>     >
> 
>     This would be a more satisfying change if there were something like
> 
>      #define BD_RD 0
>      #define BD_WR 1
> 
>     so that it was clear at a glance what a bd_io() call is doing.
> 
> 
> I think that's a good idea...

Arguably the bd_read/write wrappers were even clearer (and there purpose
was readability in that case).

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?05b36083-9f4d-658e-ab39-e8c317d01db7>