summaryrefslogtreecommitdiffstats
path: root/sys/geom/gate/g_gate.c
Commit message (Collapse)AuthorAgeFilesLines
* Add CANCEL command which allows to remove one request from the queue orpjd2005-07-081-1/+43
| | | | | | | | all requests from the queue if request number is not given. Bump version number. Approved by: re (scottl)
* Update copyright in files changed this year.pjd2005-02-161-1/+1
|
* Remove mutex asserion from g_gate_find(). We don't want g_gate_list_mtxpjd2005-02-161-1/+0
| | | | mutex to be held here, because we want speed here.
* Remove TDP_GEOM flag from thread after ggate device creation.pjd2005-02-161-0/+7
| | | | | | | This flag means "wait for all pending requests before returning to userland". There are pending events for sure, because we just created new provider and other classes want to taste it, but we cannot answer on I/O requests until we're here.
* Fix typo. We want to unlock mutex here.pjd2005-02-121-1/+1
| | | | | Submitted by: Andreas Kohn <andreas.kohn@gmail.com> MFC after: 1 week
* - Remove g_gate_hold()/g_gate_release() from start/done paths. It savespjd2005-02-091-54/+36
| | | | | | | | | | 4 mutex operations per I/O requests. - Use only one mutex to protect both (incoming and outgoing) queue. As MUTEX_PROFILING(9) shows, there is no big contention for this lock. - Protect sc_queue_count with queue mutex, instead of doing atomic operations on it. - Remove DROP_GIANT()/PICKUP_GIANT() - ggate is marked as MPSAFE and no Giant there.
* - Use bioq_insert_tail()/bioq_insert_head() instead of bioq_disksort().pjd2005-02-051-3/+7
| | | | | | - Improve mediasize checking. MFC after: 1 week
* - Add missing Giant drop before acquiring the topology lock.pjd2004-11-231-3/+6
| | | | - Move DROP_GIANT()/PICKUP_GIANT() to g_gate_ioctl().
* Unlock g_gate_list_mtx mutex when we cannot allocate unit number.pjd2004-10-021-0/+1
| | | | | | | MT5 candidate. PR: kern/72253 Submitted by: Ivan Voras <ivoras@fer.hr>
* Tag all geom classes in the tree with a version number.phk2004-08-081-0/+1
|
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Remove unused argument for good.pjd2004-07-011-2/+2
|
* Introduce a hack that will make geom_gate to work with read-only mounts.pjd2004-06-271-0/+9
| | | | | | | | Now, when trying to mount file system in read-only mode it tries to opened a device for writting to be able to update to read-write mode latter. Ehh. Discussed with: phk
* Don't hold topology lock while calling g_gate_release().pjd2004-06-211-0/+2
| | | | Found by: KASSERT()
* Do the dreaded s/dev_t/struct cdev */phk2004-06-161-2/+2
| | | | Bump __FreeBSD_version accordingly.
* Close some small wakeup<->msleep races.pjd2004-05-051-2/+4
|
* Turn off debugging by default.pjd2004-05-031-1/+1
|
* - Hold g_gate_list_mtx lock while generating/checking unit number.pjd2004-05-031-5/+9
| | | | | | Found by: mtx_assert() g_gate.c:273 - Set command before returning to userland with ENOMEM error value. Found by: assert() ggatel.c:108
* Make it compile on 64-bit architectures.pjd2004-05-021-14/+14
| | | | | The biggest issue was that 16-bit atomic operations aren't supported on all architectures.
* Kernel bits of GEOM Gate.pjd2004-04-301-0/+632
OpenPOWER on IntegriCloud