#
5e52756d |
| 27-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Check return value of g_call_me()
|
#
c138fec0 |
| 24-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Premptively change initializations of struct g_class to use C99 sparse struct initializations before we extend the struct with new OAM related member functions.
|
#
7da1ebfd |
| 21-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Mitigate deadlock situation pending a more complete solution.
|
#
b4b138c2 |
| 18-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Including <sys/stdint.h> is (almost?) universally only to be able to use %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
|
#
81876757 |
| 15-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use devstat_{start,end}_transaction_bio(). Remember to set bio_resid correctly first.
|
#
09f95804 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Allocate devstat structure with devstat_new_entry().
|
#
60794e04 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be r
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
show more ...
|
#
98bbd7aa |
| 28-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup:
Retire the "dev_t" centric version of the disk mini-layer. Remove now unneeded linkage field in dev_t and struct disk.
|
#
2c6b49f6 |
| 21-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup:
Retire the "d_dump_t" and use the "dumper_t" type instead.
Dumper_t takes a void * as first arg which is more general than the dev_t taken by d_dump_t. (Remember: we could have ne
NO_GEOM cleanup:
Retire the "d_dump_t" and use the "dumper_t" type instead.
Dumper_t takes a void * as first arg which is more general than the dev_t taken by d_dump_t. (Remember: we could have net-dumpers if somebody wrote us one!)
Define the convention for GEOM controlled disk devices to be that the first argument to the dumper function is the struct disk pointer.
Change device drivers accordingly.
show more ...
|
#
b82ff758 |
| 21-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup:
Change the argument to disk_destroy() to be the same struct disk * as disk_create() takes.
This enables drivers to ignore the (now) bogus dev_t which disk_create() returns.
|
#
a163d034 |
| 19-Feb-2003 |
Warner Losh <imp@FreeBSD.org> |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
96365d3d |
| 12-Feb-2003 |
Tor Egge <tegge@FreeBSD.org> |
Correctly set bio_data in cloned children when cutting up large requests.
|
#
99af707c |
| 11-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Check disk->d_maxsize/dev->si_iosize_max at open time rather than in strategy.
Printf a warning and use DFLTPHYS if the drive has not set a size.
|
#
15c672a3 |
| 11-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make a mutex to stop the race coming into geom_disk's done routine.
Cut up requests into smaller bits if they are longer than the drivers disk->d_maxsize or dev->si_iosize_max.
Properly handle the
Make a mutex to stop the race coming into geom_disk's done routine.
Cut up requests into smaller bits if they are longer than the drivers disk->d_maxsize or dev->si_iosize_max.
Properly handle the race condition when using g_clone_bio() is used without having the single-threadedness of g_down/g_up secure locking.
show more ...
|
#
8a63edc3 |
| 11-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Better names for struct disk elements: d_maxsize, d_stripeoffset and d_stripesisze;
Introduce si_stripesize and si_stripeoffset in struct cdev so we can make the visible to clustering code.
Add st
Better names for struct disk elements: d_maxsize, d_stripeoffset and d_stripesisze;
Introduce si_stripesize and si_stripeoffset in struct cdev so we can make the visible to clustering code.
Add stripesize and stripeoffset to providers.
DTRT with stripesize and stripeoffset in various places in GEOM.
show more ...
|
#
bb17c5f6 |
| 11-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Propagate DISKFLAG_CANDELETE from struct disk to G_PF_CANDELETE on the provider.
|
#
a4210653 |
| 06-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Check return value of g_clone_bio().
|
#
ae2afc43 |
| 06-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Experimentally don't let go of Giant in geom_disk's done. We may actually be increasing Giant contention doing so because the actual stuff we do is very cheap.
Also I am not convinced there is not a
Experimentally don't let go of Giant in geom_disk's done. We may actually be increasing Giant contention doing so because the actual stuff we do is very cheap.
Also I am not convinced there is not a tiny window for a race here.
show more ...
|
#
51dd8980 |
| 05-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Implement the new "struct disk" centered API for device drivers.
This commit should not change anything as no device drivers use the new API yet.
|
#
237d2765 |
| 04-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Pave the road to removing the fixed size limit on device nodes:
Change the si_name of dev_t's to be a char * and put a private buffer for holding the name at then end of the struct.
Initialize si_n
Pave the road to removing the fixed size limit on device nodes:
Change the si_name of dev_t's to be a char * and put a private buffer for holding the name at then end of the struct.
Initialize si_name to point to the private buffer.
Put a KASSERT in geom_disk to prevent overrun on the fake dev_t we still have to generate for the disk_drivers.
show more ...
|
#
ffa91881 |
| 02-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a bio_disk pointer for use between geom_disk and the device drivers.
|
#
31a1093f |
| 30-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add some agility to the disk_create() API:
Make passing the methods in a cdevsw structure optional.
Move "CANFREE" and "NOGIANT" flags into struct disk instead of the cdevsw which may or may not be
Add some agility to the disk_create() API:
Make passing the methods in a cdevsw structure optional.
Move "CANFREE" and "NOGIANT" flags into struct disk instead of the cdevsw which may or may not be there.
Rename CANFREE to CANDELETE to match BIO_DELETE operation.
Add "OPEN" flag so drivers don't have to provide open/close methods just to maintain such a flag.
Add temporary stopgap include of <sys/conf.h> to <sys/disk.h> until the files which have them in the other order are fixed.
Add KASSERTS to make sure we don't get fed too many NULL pointers.
Clear our geom's softc pointer before we wither.
show more ...
|
#
6e0b29ae |
| 30-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup: Remove sys/disklabel.h include.
|
#
1686ac18 |
| 30-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup: retire disk_invalidate()
|
#
bf17219d |
| 30-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup: Mark the last arg to disk_create() as unused.
|