| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Previously, it would panic immediately.
Reviewed by: pjd
Approved by: re (kib)
|
|
|
|
|
|
|
| |
struct bio to store classification information, and a hook
for classifier functions that can be called by g_io_request().
This code is from Fabio Checconi as part of his GSOC work.
|
|
|
|
|
|
|
| |
The geom and CAM changes for root_hold are the wrong solution for USB design
quirks.
Requested by: scottl
|
|
|
|
|
|
|
| |
provider tasting. This is needed for disk attachments that happen after threads
are running in the boot process.
Tested by: rnoland
|
|
|
|
| |
This allows passing string constants to g_handleattr_str().
|
|
|
|
|
|
|
|
|
|
| |
to it for tasting. This is useful when the class, through means outside
the scope of GEOM, can claim providers previously unclaimed.
The g_retaste() function posts an event which is handled by the
g_retaste_event().
Event suggested by: phk
|
|
|
|
| |
OK'ed by: phk
|
|
|
|
|
|
|
| |
handling.
- Extend g_handleattr() to treat attribute as string when len=0.
OK'ed by: phk
|
|
|
|
|
|
|
| |
flush their caches. For now will mostly be used by disks to flush their
write cache.
Sponsored by: home.pl
|
|
|
|
|
| |
Approved by: phk
MFC after: 1 week
|
|
|
|
|
|
|
| |
no additional argument is given or details about the given GEOM object
(class, geom, provider or consumer).
Approved by: phk
|
|
|
|
| |
This prevents panic under heavy load with DIAGNOSTIC compiled in.
|
|
|
|
| |
is doing, but g_duplicate_bio() allocates new bio with M_WAITOK flag.
|
|
|
|
|
|
| |
particular provider. Use this function where g_orphan_provider()
is being called so that the flags are updated correctly and
g_orphan_provider() is called only when allowed.
|
|
|
|
|
|
|
|
|
|
|
| |
error on the request. Add a wrapper, gctl_set_param_err(), that
sets the error on the request from the error returned by
gctl_set_param() and update current callers of gctl_set_param()
to call gctl_set_param_err() instead.
This makes gctl_set_param() much more usable in situations where
the caller knows better what to do with certain (apparent) error
conditions and setting an error on the request is not one of the
things that need to be done.
|
| |
|
|
|
|
| |
No objection from: phk
|
|
|
|
|
|
|
|
| |
Reject certain ioctls if write permission is not indicated.
Bump geom API version.
Reported by: Ruben de Groot <mail25@bzerk.org>
|
|
|
|
|
|
|
| |
but should be called with the topology lock held and returns with the
topology lock held and empty event queue.
Approved by: phk (sometime ago)
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use in places where we can sleep and where we previously failed to check
for a NULL pointer.
MT5 candidate.
|
|
|
|
|
|
|
|
| |
understood. This makes room for additional binary compatibility in the
future.
Put fields in the class for the geom's methods and initialize the methods
of a new geom from these fields. This saves some code in all classes.
|
| |
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Retire g_sanity() and corresponding debugflag (0x8)
Retire g_{stall,release}_events().
Under #ifdef DIAGNOSTIC:
Make g_valid_obj() an official function and have it return an an
non-zero integer which indicates the kind of object when found.
Implement G_VALID_{CLASS,GEOM,CONSUMER,PROVIDER}() macros based
on g_valid_obj().
Sprinkle calls to these macros liberally over the infrastructure.
Always check that we do not free a live object.
|
|
|
|
|
|
|
|
|
|
|
|
| |
shown that it is not useful.
Rename the relative count g_access_rel() function to g_access(), only
the name has changed.
Change all g_access_rel() calls in our CVS tree to call g_access() instead.
Add an #ifndef BURN_BRIDGES #define of g_access_rel() for source
code compatibility.
|
|
|
|
| |
the implementing class can use to hang internal info from.
|
|
|
|
| |
Approved by: phk, scottl (mentor)
|
|
|
|
| |
Approved by: phk, scottl (mentor)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Spotted by: mr
|
|
|
|
| |
possibly be a root filesystem.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
hinge on the "verb" parameter which the class gets to interpret as
it sees fit.
Move the entire request into the kernel and move changed parameters
back when done.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
| |
Introduce g_wither_geom() to do the work in one single place.
|
| |
|
|
|
|
| |
it to be run (or cancelled) and use this instead of home-rolled versions.
|
|
|
|
| |
argument to determine if we can M_WAITOK in malloc.
|
| |
|
|
|
|
| |
Remove KASSERTS which checked that they were unused.
|
| |
|