Pawel Jakub Dawidek
e35d3a7828
- Remove g_gate_hold()/g_gate_release() from start/done paths. It saves
...
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.
2005-02-09 08:29:39 +00:00
Pawel Jakub Dawidek
662a4e5878
- Use bioq_insert_tail()/bioq_insert_head() instead of bioq_disksort().
...
- Improve mediasize checking.
MFC after: 1 week
2005-02-05 00:30:08 +00:00
Pawel Jakub Dawidek
a17dd95f14
- Add missing Giant drop before acquiring the topology lock.
...
- Move DROP_GIANT()/PICKUP_GIANT() to g_gate_ioctl().
2004-11-23 11:18:26 +00:00
Pawel Jakub Dawidek
c7e17f4bbe
Unlock g_gate_list_mtx mutex when we cannot allocate unit number.
...
MT5 candidate.
PR: kern/72253
Submitted by: Ivan Voras <ivoras@fer.hr>
2004-10-02 15:03:26 +00:00
Poul-Henning Kamp
5721c9c76a
Tag all geom classes in the tree with a version number.
2004-08-08 07:57:53 +00:00
Poul-Henning Kamp
3e019deaed
Do a pass over all modules in the kernel and make them return EOPNOTSUPP
...
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".
2004-07-15 08:26:07 +00:00
Pawel Jakub Dawidek
9ecdd506ea
Remove unused argument for good.
2004-07-01 15:42:03 +00:00
Pawel Jakub Dawidek
55336b83e0
Introduce a hack that will make geom_gate to work with read-only mounts.
...
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
2004-06-27 12:56:11 +00:00
Pawel Jakub Dawidek
47f44cb708
Don't hold topology lock while calling g_gate_release().
...
Found by: KASSERT()
2004-06-21 09:12:08 +00:00
Poul-Henning Kamp
89c9c53da0
Do the dreaded s/dev_t/struct cdev */
...
Bump __FreeBSD_version accordingly.
2004-06-16 09:47:26 +00:00
Pawel Jakub Dawidek
053271038e
Close some small wakeup<->msleep races.
2004-05-05 12:30:41 +00:00
Pawel Jakub Dawidek
b62093b274
Turn off debugging by default.
2004-05-03 21:11:54 +00:00
Pawel Jakub Dawidek
4d1e1bf3f5
- Hold g_gate_list_mtx lock while generating/checking unit number.
...
Found by: mtx_assert() g_gate.c:273
- Set command before returning to userland with ENOMEM error value.
Found by: assert() ggatel.c:108
2004-05-03 18:06:24 +00:00
Pawel Jakub Dawidek
0d785336d1
Make it compile on 64-bit architectures.
...
The biggest issue was that 16-bit atomic operations aren't supported
on all architectures.
2004-05-02 17:57:49 +00:00
Pawel Jakub Dawidek
fe27e77251
Kernel bits of GEOM Gate.
2004-04-30 16:08:12 +00:00