Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jun 1998 21:27:36 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        chuckr@glue.umd.edu, phk@critter.freebsd.dk
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Heads up: block devices to disappear!
Message-ID:  <199806241127.VAA08509@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>It's really simple, blockdevices are now only used for mounting, the
>kernel can easily figure this out, so there is no need to have special
>device nodes for this.

Block devices are also used for buffering.  Examples:
a) Linux fsck.ext2 does partial sector i/o's, so it does not work
   on character disk devices.  It works OK on block disk devices
   despite lack of support for some special ioctls.
b) The simple binary editor that I use reads/writes precisely the
   bytes bytes inspected/changed.  This is normally the correct thing
   for a binary editor to do, but it does not work on character disk
   devices.
c) Caching of (small) slow media, e.g.,:
      sleep 1000 </dev/fd0    # prevent last close
      tar tvvf /dev/fd0       # inspect floppy contents
      tar xvvf /dev/fd0 ...   # read floppy contents from buffer cache.
   The last close prevention may be unnecessary under Linux (Linux at
   least used to not invalidate the cache until disk change), and doesn't
   actually work under FreeBSD (a comment in spec_close() says that
   "... on last close ... we must invalidate any in core blocks", but
   spec_close() actually always invalidates the cache).  FreeBSD also
   has problems caching the whole 720 blocks that must be cached to
   completely cache a 1440K floppy, since VMIO buffers aren't used for
   the sub-page block size used for block devices.

Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806241127.VAA08509>