| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
length of the dump area accordingly.
Run into by: scottl
|
|
|
|
|
| |
initialized. We already cancel the pending events but we need to not
dereference the geom pointer which never got set different from NULL.
|
|
|
|
|
|
|
|
| |
Reject certain ioctls if write permission is not indicated.
Bump geom API version.
Reported by: Ruben de Groot <mail25@bzerk.org>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
PR: 68074
Submitted by: Hendrik Scholz <hscholz@raisdorf.net>
|
| |
|
|
|
|
|
|
| |
when a disk has been destroyed but still has outstanding bio's.
Reviewed by: phk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the "struct disk" were owned by the device driver and this
gave us problems when the device disappared and the users of that device
were not immediately disappearing.
Now the struct disk is allocate with a new call, disk_alloc() and owned
by geom_disk and just abandonned by the device driver when disk_create()
is called.
Unfortunately, this results in a ton of "s/\./->/" changes to device
drivers.
Since I'm doing the sweep anyway, a couple of other API improvements
have been carried out at the same time:
The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to
DISKFLAG_NEEDSGIANT
A version number have been added to disk_create() so that we can detect,
report and ignore binary drivers with old ABI in the future.
Manual page update to follow shortly.
|
| |
|
|
|
|
|
|
| |
This will allow closing disks that were removed while opened.
Approved by: phk, scottl (mentor)
|
| |
|
|
|
|
|
|
| |
the code happened to work because MTX_DEF and NULL are both defined as 0.
Reviewed by: phk
|
|
|
|
|
|
| |
bio_offset is the field drivers should use.
bio_pblkno remains as a convenient place to store the number of
the device drivers.
|
| |
|
|
|
|
| |
Allow drivers to initialize the d_devstat if they want magic params.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the current ioctl processing with a direct call path
from geom_dev() where the ioctl arrives (from SPECFS) to any directly
connected GEOM class.
The inverse of the above is no longer supported. This is the
situation were you have one or more intervening GEOM classes, for
instance a BSDlabel on top of a MBR or PC98. If you want to issue
MBR or PC98 specific ioctls, you will need to issue them on a MBR
or PC98 providers.
This paves the way for inviting CD's, FD's and other special cases
inside GEOM.
|
| |
|
|
|
|
| |
Approved by: phk
|
|
|
|
|
|
|
|
|
| |
Use ->init() and ->fini() to handle the mutex in geom_disk.c
Remove the g_add_class() function and replace it with a standardized
g_modevent() function.
This adds the basic infrastructure for loading/unloading GEOM classes
|
| |
|
|
|
|
| |
Approved by: re/scottl
|
|
|
|
|
|
| |
disk is in the process of disappearing.
Approved by: re/rwats*
|
|
|
|
|
|
| |
to avoid race condtion.
Approved by: re/rwatson
|
| |
|
|
|
|
| |
it to be run (or cancelled) and use this instead of home-rolled versions.
|
|
|
|
| |
argument to determine if we can M_WAITOK in malloc.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
event posting functions varargs to fill these.
Attribute g_call_me() to appropriate g_geom's where necessary.
Add a flag argument to g_call_me() methods which will be used to signal
cancellation of events in the future.
This commit should be a no-op.
|
| |
|
| |
|
|
|
|
|
| |
sparse struct initializations before we extend the struct with
new OAM related member functions.
|
| |
|
|
|
|
|
| |
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.
|
|
|
|
| |
Remember to set bio_resid correctly first.
|
| |
|
|
|
|
|
|
|
|
| |
in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
|
|
|
|
|
| |
Retire the "dev_t" centric version of the disk mini-layer.
Remove now unneeded linkage field in dev_t and struct disk.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Retire the "d_dump_t" and use the "dumper_t" type instead.
Dumper_t takes a void * as first arg which is more general than the
dev_t taken by d_dump_t. (Remember: we could have net-dumpers if
somebody wrote us one!)
Define the convention for GEOM controlled disk devices to be that the
first argument to the dumper function is the struct disk pointer.
Change device drivers accordingly.
|
|
|
|
|
|
|
|
| |
Change the argument to disk_destroy() to be the same struct disk * as
disk_create() takes.
This enables drivers to ignore the (now) bogus dev_t which disk_create()
returns.
|
|
|
|
| |
Approved by: trb
|
| |
|
|
|
|
| |
Printf a warning and use DFLTPHYS if the drive has not set a size.
|
|
|
|
|
|
|
|
| |
Cut up requests into smaller bits if they are longer than the drivers
disk->d_maxsize or dev->si_iosize_max.
Properly handle the race condition when using g_clone_bio() is used
without having the single-threadedness of g_down/g_up secure locking.
|
|
|
|
|
|
|
|
|
|
|
| |
and d_stripesisze;
Introduce si_stripesize and si_stripeoffset in struct cdev so we
can make the visible to clustering code.
Add stripesize and stripeoffset to providers.
DTRT with stripesize and stripeoffset in various places in GEOM.
|
|
|
|
| |
provider.
|
| |
|