The Digital Unix NASD port is a fairly complete port. At the time this document is being written (2 February 1999), it is the most complete port of the NASD tree.
NASD_CMU_PDL
enabled (see below)
physclone
(utils/clone/physclone
) will zero the
disklabel of the target before copying the disk
NASD_CMU_PDL
libpdl.a
. If this functionality is
available to you, you can set the location of the library and include files by
including the necessary link commands for the library in the ARCHLIBS
definition that applies to your platform in NASD_site.def
, and the
necessary commands to find the include files in SARCHDEFINES
in that
same file. You should also be sure that NASD_CMU_PDL
is defined
to 1
in NASD_site.def
if you have this support enabled,
or that it is defined to 0
if you do not.
nasd_od_kio.c
nasd_od_kio.c
as its I/O module. This module fully supports all
I/O module functionality.
Every nasd_k_flush_check_millliseconds
milliseconds, a thread will
wake up and look at the number of dirty pages. If the number of dirty pages
exceeds nasd_k_dirty_percent
percent of the available cache blocks,
it will awaken another thread which will flush dirty blocks from the cache.
Every nasd_k_flush_interval
wakeups, the wakeup of this flush
thread will occur regardless of how much of the cache is dirty.
When the drive is compiled into the dux kernel, the data page of each cache
block is literally a page of memory, and the corresponding vm_page_t
is also stored. This allows the kernel to coalesce I/Os quickly and efficiently
by linking these pages together and hanging them off a struct buf
which will be passed to BDEVSW_STRATEGY()
in order to perform the I/O.
![]() | ![]() | ![]() |
---|---|---|
Adding control objects | Linux implementation notes | NASD Programmer's Documentation |