| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
this work later. Since the disk always has the same name (the different
between svnd and vnd went away), we don't need to do this late anymore.
Spotted with matthew.
|
|
|
|
|
|
| |
is stupid (verified to be the case). Other flag bits might have lived
longer than they should as well, with unknown consequences.
Spotted with matthew, too.
|
|
|
|
|
| |
we were probably only ever reading labels off vnd0. Oops.
Spotted by matthew
|
|
|
|
|
| |
rw_lock and the device_ref
Discussed with thib and matthew
|
|
|
|
|
| |
through config_attach()
ok matthew jsing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to return EBUSY if the user tries to modify an open partition's offset
or size. Only sadness can result if a user tries this, and rejecting
it prevents a race between sdstart() and sdstrategy().
Curiously, there was already code in the kernel and in disklabel(8) to
detect/handle this, but it was effectively disabled because the disk
drivers always used something like "/* sc->sc_dk.dk_openmask */ 0",
and this commented out code has existed since even r1.1 in NetBSD.
I had no problems building a release and messing around with
disklabel(8) for a bit with this diff. Canarying the more common MI
disk drivers until we gain confidence that there aren't any
regressions, then we can switch the remaining drivers.
"I am surprised you got me convinced that this stuff is safe" deraadt@
ok krw@
|
|
|
|
| |
``sure'' deraadt@
|
|
|
|
|
|
| |
vnd devices nodes, which impliment svnd functionality -- that being the only
thing which vnd now supports. Confused? Don't worry, it is documented.
ok krw thib
|
| |
|
|
|
|
|
| |
both simple and non-simple mode. Restore this behaviour by removing the
openmask check.
|
| |
|
| |
|
|
|
|
|
|
| |
this will treat vndX the same as svndX.
ok and gcc2 fixes from deraadt@
|
|
|
|
|
|
|
|
|
| |
backing the vnd also has a bufq. So the buf is just passed
between the vnd bufq and the disk bufq (almost immediately).
Also see previous revision for more insight.
OK deraadt@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for the device on which the vnd image resides on, this has the
effect that a bufq_done call is done in the context of the
underlaying bufq, setting b_bq to NULL, meaning there is never
a bufq_done call done for the vnd bufq so the outstanding count
never decreses.
Add one in vndiodone. This fixes the suspsend issues krw@ was
running into.
ok tedu@, krw@
nod from miod@ on the commit.
|
|
|
|
|
|
|
|
| |
the softc is zero'ed when the vnd is unconfigured;
otherwise we blow up when configuring a vnd the second
time since the bufq structure is kaputt.
found by and OK krw@
|
|
|
|
| |
OK dlg@, beck@, krw@.
|
|
|
|
|
|
|
| |
in which it was configured. If this is a "safe" vnd disk the name should
be "svndX" whereas a standard vnd disk should be named "vndX".
ok deraadt@ todd@ thib@
|
|
|
|
|
|
|
| |
no point in keeping it around.
"i like this" thib@ (a while back); ok krw@ and oga@; reminder to
update the man page and tweaks jmc@
|
|
|
|
|
|
|
| |
disk_attach() is called by the device driver. We will be building on
this shortly.
ok deraadt@ krw@
|
|
|
|
| |
ok miod@; "please go ahead" jsing@
|
|
|
|
|
|
|
|
|
|
|
|
| |
right thing, throw it away by marking it as B_INVAL and setting
the B_ERROR flag and b_error to the errno that was returned.
B_RAW doesn't matter there.
Issue report my mlarkin@, this diff tested and confirmed to
fix the issue by mlarkin also, thanks!
OK krw@, beck@, deraadt@
|
| |
|
|
|
|
| |
call bufq_done in biodone.
|
|
|
|
|
|
|
|
|
|
|
| |
gets rid of #include <sys/dkio.h> in sys/ioctl.h and adds #include
<sys/dkio.h> to the places that actually want and use the disk
ioctls.
this became an issue when krw@'s X build failed when he was testing
a change to dkio.h.
tested by krw@
help from and ok miod@
|
|
|
|
|
|
|
| |
identifier, allowing the disk to be identified without relying on the
device name.
ok deraadt@ krw@ beck@ marco@ todd@
|
|
|
|
| |
ok otto@, agreed by deraadt@
|
|
|
|
|
|
|
|
|
| |
errnos. Note that the error strings are being ignored, since we long ago
decided to not spam the console, and there is no other nice way to use the
errors (without changing the ioctls to pass it back)
The errno is now useful, since we can pass b_error from failing IO up, and
the drive can decide how to use that
ok miod
|
|
|
|
|
|
| |
have been going on. this appears to bring us back to stable state.
lots of testing by oga and ariane and my self.
|
|
|
|
| |
Noticed by & ok deraadt@
|
|
|
|
|
|
|
|
|
| |
one by tedu@. It doesn't do anything smart yet, it just uses
plain old disksort. we also keep the old method of queueing bufs
since some miods have crazy MD drivers that need some love.
ok beck@, art@
tested by many on many archs.
|
|
|
|
|
|
|
|
|
|
|
| |
option which makes the vnd device emulate the geometry of the
specified disktab(5) entry. No change in behaviour or geometry
unless -t is used.
API for vnd configuration ioctl (VNDIOCSET) changes, so mount_vnd
must be in sync with kernel.
Tested & ok jsing@ 'Lovely' deraadt@
|
|
|
|
|
|
|
|
|
|
| |
vnd(4) device, via a new -s option to vnconfig/mount_vnd. This allows us
to create disklabels and file systems that are suitable for use on
devices that have a non-512 byte sector size (eg. CDROMs).
With help from krw@ and feedback from pedro@.
ok krw@, pedro@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
them going negative - this consists of identifying a number of cases of
IO not going through the buffer cache and marking those buffers with
B_RAW - as well as fixing nfs_bio to show pending writes and reads through
the buffer cache via NFS
still has a problem with mishandling the counters I believe in the
async/sync fallback case where counters stay positive which will be
addressed seperately.
ok tedu@ deraadt@
|
| |
|
|
|
|
|
|
| |
disklabel's d_secsize.
ok millert@ marco@
|
|
|
|
|
|
| |
prepare for adding missing DIOC* ioctl's.
No functional change.
|
| |
|
|
|
|
|
| |
from Piotr Durlej, tested by henning@, krw@, thib@ and myself
ok thib@, grunk@, krw@
|
|
|
|
| |
ok mglocker
|
|
|
|
| |
prompted and "much better" by marco@, ok pyr@
|
|
|
|
| |
ok pyr@ and krw@
|
|
|
|
| |
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
| |
|
|
|
|
|
|
|
| |
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
|
|
|
| |
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
|
|
|
|
| |
readdisklabel(), since all readdisklabel()'s do that already.
ok deraadt@
|
|
|
|
|
| |
VNDLABELDEV() is used in readdisklabel(). VNDLABELDEV() preserves the
vndsimple() property encoded in the device.
|
|
|
|
|
|
| |
more consistant. No change to code.
ok miod@
|
|
|
|
| |
up elsewhere
|