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 ...
|
Revision tags: release/3.3.0_cvs |
|
#
f5756ee9 |
| 12-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove replace phygetvpbuf() with direct call to getpbuf();
|
#
c3aac50f |
| 28-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
60767bf4 |
| 21-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use more compiler friendly test for overflow.
Submitted by: bde
|
#
3b782ee9 |
| 21-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Detect if the the offset used to read from a raw device loose bits when converted to block number.
|
#
49ff4deb |
| 14-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Spring cleaning around strategy and disklabels/slices:
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout. please see comment in sys/conf.h about the flag argument.
Remove
Spring cleaning around strategy and disklabels/slices:
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout. please see comment in sys/conf.h about the flag argument.
Remove strategy argument from all the diskslice/label/bad144 implementations, it should be found from the dev_t.
Remove bogus and unused strategy1 routines.
Remove open/close arguments from dssize(). Pick them up from dev_t.
Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
show more ...
|
#
67812eac |
| 26-Jun-1999 |
Kirk McKusick <mckusick@FreeBSD.org> |
Convert buffer locking from using the B_BUSY and B_WANTED flags to using lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK
Convert buffer locking from using the B_BUSY and B_WANTED flags to using lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK_EXCLUSIVE requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will be done in future commits.
show more ...
|
Revision tags: release/3.2.0 |
|
#
4be2eb8c |
| 08-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
I got tired of seeing all the cdevsw[major(foo)] all over the place.
Made a new (inline) function devsw(dev_t dev) and substituted it.
Changed to the BDEV variant to this format as well: bdevsw(dev
I got tired of seeing all the cdevsw[major(foo)] all over the place.
Made a new (inline) function devsw(dev_t dev) and substituted it.
Changed to the BDEV variant to this format as well: bdevsw(dev_t dev)
DEVFS will eventually benefit from this change too.
show more ...
|