#
1a52a73d |
| 23-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Eliminate DEV_STRATEGY() macro: call dev_strategy() directly.
Make dev_strategy() handle errors and departing devices properly.
|
#
fad44dee |
| 10-Aug-2004 |
Alan Cox <alc@FreeBSD.org> |
Eliminate the acquisition and release of Giant within physio(). Remove the spl calls.
Reviewed by: phk@ Discussed with: scottl@
|
#
89c9c53d |
| 16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
Revision tags: release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
00cbe31b |
| 15-Nov-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Send B_PHYS out to pasture, it no longer serves any function.
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
01758670 |
| 18-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Initialize b_iooffset before calling strategy
|
#
f7e56e48 |
| 02-Aug-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Grab Giant in physio() since non-giant drivers are starting to appear.
|
#
677b542e |
| 11-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID().
|
Revision tags: release/5.1.0_cvs, release/5.1.0 |
|
#
ef38cda1 |
| 06-Apr-2003 |
Alan Cox <alc@FreeBSD.org> |
Don't reinitialize fields that are already initialized by getpbuf().
|
#
cdb06eda |
| 05-Apr-2003 |
Alan Cox <alc@FreeBSD.org> |
Sufficient access checks are performed by vmapbuf() that calling useracc() is pointless. Remove the call to useracc() from physio().
Reviewed by: tegge
|
Revision tags: release/4.8.0_cvs, release/4.8.0 |
|
#
749ffa4e |
| 13-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a lock for protecting against msleep(bp, ...) wakeup(bp) races. - Create a new function bdone() which sets B_DONE and calls wakup(bp). This is suitable for use as b_iodone for buf consumers
- Add a lock for protecting against msleep(bp, ...) wakeup(bp) races. - Create a new function bdone() which sets B_DONE and calls wakup(bp). This is suitable for use as b_iodone for buf consumers who are not going through the buf cache. - Create a new function bwait() which waits for the buf to be done at a set priority and with a specific wmesg. - Replace several cases where the above functionality was implemented without locking with the new functions.
show more ...
|
#
2d5c7e45 |
| 20-Jan-2003 |
Matthew Dillon <dillon@FreeBSD.org> |
Close the remaining user address mapping races for physical I/O, CAM, and AIO. Still TODO: streamline useracc() checks.
Reviewed by: alc, tegge MFC after: 7 days
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
e2a3ea1c |
| 03-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unused second argument from DEV_STRATEGY().
|
#
2b7f24d2 |
| 11-Oct-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Change iov_base's type from `char *' to the standard `void *'. All uses of iov_base which assume its type is `char *' (in order to do pointer arithmetic) have been updated to cast iov_base to `char
Change iov_base's type from `char *' to the standard `void *'. All uses of iov_base which assume its type is `char *' (in order to do pointer arithmetic) have been updated to cast iov_base to `char *'.
show more ...
|
Revision tags: release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs |
|
#
7f05b035 |
| 29-Jun-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
More caddr_t removal, make fo_ioctl take a void * instead of a caddr_t.
|
#
e96d018d |
| 18-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use btodb() macro.
Sponsored by: DARPA & NAI Labs.
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs, release/4.3.0_cvs, release/4.3.0, release/4.2.0, release/4.1.1_cvs, release/4.1.0, release/3.5.0_cvs |
|
#
9626b608 |
| 05-May-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes.
Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data.
Still a few bogus uses of struct buf to track down.
Repocopy by: peter
show more ...
|
#
c244d2de |
| 02-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while w
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack.
Add bio_queue field for struct bio aware disksort.
Address a lot of stylistic issues brought up by bde.
show more ...
|
#
b99c307a |
| 20-Mar-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Rename the existing BUF_STRATEGY() to DEV_STRATEGY()
substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)
substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)
This patch is machine ge
Rename the existing BUF_STRATEGY() to DEV_STRATEGY()
substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)
substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)
This patch is machine generated except for the ccd.c and buf.h parts.
show more ...
|
#
21144e3b |
| 20-Mar-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set.
B_WRITE was bogusly defined as zero giving rise t
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set.
B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes.
Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL.
Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading.
This change is a step in the direction towards a stackable BIO capability.
A lot of this patch were machine generated (Thanks to style(9) compliance!)
Vinum users: Greg has not had time to test this yet, be careful.
show more ...
|
Revision tags: release/4.0.0_cvs, release/3.4.0_cvs |
|
#
02c58685 |
| 30-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the "rw" argument, rather than hijacking B_{READ|WRITE}.
Fix two bugs (physio & cam) resulting by the confusion caused by this.
Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the "rw" argument, rather than hijacking B_{READ|WRITE}.
Fix two bugs (physio & cam) resulting by the confusion caused by this.
Submitted by: Tor.Egge@fast.no Reviewed by: alc, ken (partly)
show more ...
|
#
7179e74f |
| 09-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give physio a makeover.
- Let physio take read/write compatible args and have it use uio->uio_rw to determine the direction.
- physread/physwrite are now #defines for physio
- Remove the inversl
Give physio a makeover.
- Let physio take read/write compatible args and have it use uio->uio_rw to determine the direction.
- physread/physwrite are now #defines for physio
- Remove the inversly named minphys(), dev->si_iosize_max takes over.
- Physio() always uses pbufs.
- Fix the check for non page-aligned transfers, now only unaligned transfers larger than (MAXPHYS - PAGE_SIZE) get fragmented (only interesting for tapes using max blocksize).
- General wash-and-clean of code.
Constructive input from: bde
show more ...
|
#
0b5c7391 |
| 09-Oct-1999 |
Brian Feldman <green@FreeBSD.org> |
Add a newline to "WARNING: %s maxphys = 0 ??" so it doesn't trip up syslogd. Note of course it's simply much more polite and correct, too :)
|
#
dc722a14 |
| 02-Oct-1999 |
Søren Schmidt <sos@FreeBSD.org> |
In some drivers we use two devices to be able to boot. So if si_iosize_max is allready set, dont mess with it..
Also just log the problem with maxphys not being set once.
designed by: phk tested by
In some drivers we use two devices to be able to boot. So if si_iosize_max is allready set, dont mess with it..
Also just log the problem with maxphys not being set once.
designed by: phk tested by: sos
show more ...
|
#
45604de3 |
| 02-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix a problem relating to si_iosize_max which broke scsi devices.
|
#
c428d4c0 |
| 22-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Kill the cdevsw->d_maxio field.
d_maxio is replaced by the dev->si_iosize_max field which the driver should be set in all calls to cdevsw->d_open if it has a better idea than the system wide default
Kill the cdevsw->d_maxio field.
d_maxio is replaced by the dev->si_iosize_max field which the driver should be set in all calls to cdevsw->d_open if it has a better idea than the system wide default.
The field is a generic dev_t field (ie: not disk specific) so that tapes and other devices can use physio as well.
show more ...
|