| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Non-zero value of attribute means that device supports BIO_DELETE.
Suggested and reviewed by: pjd
Tested by: pho
MFC after: 1 week
|
|
|
|
|
| |
GEOM. This information needed for proper soft-RAID's on-disk metadata
reading and writing.
|
|
|
|
|
|
|
| |
in serial number.
Discussed with: trasz
Obtained from: Wheel Sp. z o.o. (http://www.wheel.pl)
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
MD i386 and amd64 dump code.
Requested by: jhb
Retested by: pho
MFC after: 3 days (+ 176304 + 184136)
|
|
|
|
|
|
| |
Reported and tested by: pho
Reviewed by: jhb
MFC after: 1 week
|
|
|
|
|
|
|
| |
completely dynamic sbuf.
Obtained from: Varnish
MFC after: 2 weeks
|
|
|
|
| |
the disk; the hard-coded assumption of 64K doesn't work in all cases.
|
| |
|
|
|
|
| |
[a-zA-Z0-9-_@#%.] characters in d_ident field.
|
|
|
|
|
|
|
| |
retrieved via GEOM::ident attribute.
- Bump disk(9) ABI version.
OK'ed by: phk
|
|
|
|
|
|
|
|
|
| |
flash card reader.
Also remove an 'Opened da0 -> <random number>' which is not needed on a daily
basis (available through bootverbose).
Reviewed by: phk, ken
MFC after: 1 week
|
|
|
|
|
|
| |
can handle BIO_FLUSH requests.
Sponsored by: home.pl
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the underlying drive had been hot-unplugged from the system. Here
is a specific example. Filesystem code had opened /dev/da1s1e.
Subsequently, the drive was hot-unplugged. This (correctly) caused
all of the associated /dev/da1* entries to be deleted. When the
filesystem later realized that the drive was gone it closed the
device, reducing the write-access counts to 0 on the geom providers
for da1s1e, da1s1, and da1. This caused geom to re-taste the
providers, resulting in the devices being created again. When the
drive was hot-plugged back in, it resulted in duplicate /dev entries
for da1s1e, da1s1, and da1.
This fix adds a new disk_gone() function which is called by CAM when a
drive goes away. It orphans all of the providers associated with the
drive, setting an error condition of ENXIO in each one. In addition,
we prevent a re-taste on last close for writing if an error condition
has been set in the provider.
Sponsored by: Isilon Systems
Reviewed by: phk
MFC after: 1 week
|
|
|
|
|
|
|
| |
up. This make iostat report operations passed down to the device driver
instead of operations passed down to GEOM disk. The transfer size limit
imposed by the device driver is no longer hidden, improving the correlation
between iostat output and device driver workload.
|
|
|
|
| |
Found by: Coverity (ID#450)
|
| |
|
|
|
|
|
|
| |
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.
|