#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
260385 |
|
06-Jan-2014 |
scottl |
MFC Alexander Motin's GEOM direct dispatch work:
r256603: Introduce new function devstat_end_transaction_bio_bt(), adding new argument to specify present time. Use this function to move binuptime() out of lock, substantially reducing lock congestion when slow timecounter is used.
r256606: Move g_io_deliver() out of the lock, as required for direct dispatch. Move g_destroy_bio() out too to reduce lock scope even more.
r256607: Fix passing uninitialized bio_resid argument to g_trace().
r256610: Add unmapped I/O support to GEOM RAID.
r256830: Restore BIO_UNMAPPED and BIO_TRANSIENT_MAPPING in biodonne() when unmapping temporary mapped buffer. That fixes double unmap if biodone() called twice for the same BIO (but with different done methods).
r256880: Merge GEOM direct dispatch changes from the projects/camlock branch.
When safety requirements are met, it allows to avoid passing I/O requests to GEOM g_up/g_down thread, executing them directly in the caller context. That allows to avoid CPU bottlenecks in g_up/g_down threads, plus avoid several context switches per I/O.
r259247: Fix bug introduced at r256607. We have to recalculate bp_resid here since sizes of original and completed requests may differ due to end of media.
Testing of the stable/10 merge was done by Netflix, but all of the credit goes to Alexander and iX Systems.
Submitted by: mav Sponsored by: iX Systems
|
#
259328 |
|
13-Dec-2013 |
trasz |
MFC r256724:
Make geom_label(4) resize-aware. This fixes a situation when "gpart resize" would resize a partition, but label providers - e.g. /dev/gptid/XXX - would stay the same size.
MFC r256766:
Fix build with gcc by spelling unused format string as "unused" instead of NULL.
Sponsored by: The FreeBSD Foundation
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
248722 |
|
26-Mar-2013 |
mav |
geom_slice.c and its consumers like GEOM_LABEL are not touching the data unless hotspots are used. Pass G_PF_ACCEPT_UNMAPPED flag through except such rare cases (obsolete GEOM_SUNLABEL and GEOM_BSD).
|
#
243333 |
|
20-Nov-2012 |
jh |
- Don't pass geom and provider names as format strings. - Add __printflike() attributes. - Remove an extra argument for the g_new_geomf() call in swapongeom_ev().
Reviewed by: pjd
|
#
239790 |
|
28-Aug-2012 |
ed |
Remove unneeded G_PF_CANDELETE flag.
This flag is only used by GEOM so it can be propagated to the character device's SI_CANDELETE. Unfortunately, SI_CANDELETE seems to do nothing.
|
#
238886 |
|
29-Jul-2012 |
mav |
Implement media change notification for DA and CD removable media devices. It includes three parts: 1) Modifications to CAM to detect media media changes and report them to disk(9) layer. For modern SATA (and potentially UAS) devices it utilizes Asynchronous Notification mechanism to receive events from hardware. Active polling with TEST UNIT READY commands with 3 seconds period is used for incapable hardware. After that both CD and DA drivers work the same way, detecting two conditions: "NOT READY: Medium not present" after medium was detected previously, and "UNIT ATTENTION: Not ready to ready change, medium may have changed". First one reported to disk(9) as media removal, second as media insert/change. To reliably receive second event new AC_UNIT_ATTENTION async added to make UAs broadcasted to all periphs by generic error handling code in cam_periph_error(). 2) Modifications to GEOM core to handle media remove and change events. Media removal handled by spoiling all consumers attached to the provider. Media change event also schedules provider retaste after spoiling to probe new media. New flag G_CF_ORPHAN was added to consumers to reflect that consumer is in process of destruction. It allows retaste to create new geom instance of the same class, while previous one is still dying. 3) Modifications to some GEOM classes: DEV -- to report media change events to devd; VFS -- to handle spoiling same as orphan to prevent accessing replaced media. PART class already handles spoiling alike to orphan.
Reviewed by: silence on geom@ and scsi@ Tested by: avg Sponsored by: iXsystems, Inc. / PC-BSD MFC after: 2 months
|
#
238198 |
|
07-Jul-2012 |
trasz |
Fix orphan() methods of several GEOM classes to not assume that there is an error set on the provider. With GEOM resizing, class can become orphaned when it doesn't implement resize() method and the provider size decreases.
Reviewed by: mav Sponsored by: FreeBSD Foundation
|
#
201645 |
|
06-Jan-2010 |
mav |
Change the way in which zero stripesize is handled. Instead of reporting zero stripeoffset in such case (as if device has no stripes), report offset from the beginning of the media (as if device has single infinite stripe).
This gives partitioning tools information, required to guess better partition alignment, in case if hardware doesn't report it's stripe size. For example, it should give disklabel info about odd offset made by fdisk.
|
#
181463 |
|
09-Aug-2008 |
des |
Add sbuf_new_auto as a shortcut for the very common case of creating a completely dynamic sbuf.
Obtained from: Varnish MFC after: 2 weeks
|
#
169288 |
|
05-May-2007 |
pjd |
Handle GEOM::ident attribute by attaching 'sX' string at the end of ident received from the underlying provider, where X is pp->index value.
OK'ed by: phk
|
#
163836 |
|
31-Oct-2006 |
pjd |
Implement BIO_FLUSH handling by simply passing it down to the components.
Sponsored by: home.pl
|
#
157619 |
|
10-Apr-2006 |
marcel |
Add g_wither_provider() to abstract the details of destroying a particular provider. Use this function where g_orphan_provider() is being called so that the flags are updated correctly and g_orphan_provider() is called only when allowed.
|
#
155802 |
|
18-Feb-2006 |
pjd |
Allow to use g_slice_orphan() from outside.
MFC after: 3 days
|
#
150143 |
|
14-Sep-2005 |
rodrigc |
Fix so that when a slice or a partition is removed through g_slice_config(), it is destroyed in GEOM, in addition to being removed from /dev. Before this patch, if you applied a new MBR which deleted a slice, the deleted slice would not be in /dev, but it would still appear in kern.geom.conftxt and kern.geom.confxml, which would confused the diskPartitionEditor in sysinstall.
Submitted by: pjd Tested by: pjd, rodrigc MFC after: 1 week
|
#
137149 |
|
03-Nov-2004 |
phk |
Stop wasting a bootverbose line on all geom slices.
|
#
133986 |
|
18-Aug-2004 |
phk |
Do not override the class provided dumpconf function.
|
#
132631 |
|
25-Jul-2004 |
le |
Check for a NULL pointer before dereferencing it.
|
#
131568 |
|
04-Jul-2004 |
phk |
We only need to check for overlaps if we increasing access counts.
|
#
131408 |
|
01-Jul-2004 |
pjd |
Free only if pointer isn't NULL.
|
#
131046 |
|
24-Jun-2004 |
pjd |
Don't force class to give a valid softc to g_slice_new(), it is not always needed.
Approved by: phk
|
#
125755 |
|
12-Feb-2004 |
phk |
Remove the absolute count g_access_abs() function since experience has shown that it is not useful.
Rename the relative count g_access_rel() function to g_access(), only the name has changed.
Change all g_access_rel() calls in our CVS tree to call g_access() instead.
Add an #ifndef BURN_BRIDGES #define of g_access_rel() for source code compatibility.
|
#
116196 |
|
11-Jun-2003 |
obrien |
Use __FBSDID().
Approved by: phk
|
#
115949 |
|
07-Jun-2003 |
phk |
Add missing va_end() calls.
Noticed by: tmm
|
#
115506 |
|
31-May-2003 |
phk |
Add a destroy_geom method to the slice "library". If a slice class has no destroy_geom method, use this one.
This should allow all slicers to kldload.
|
#
114504 |
|
02-May-2003 |
phk |
Use a more tailored spoil routine for slices, and take advantage of g_wither_geom() to do most of the work for us.
|
#
114493 |
|
02-May-2003 |
phk |
Rename g_slice_init() to the more appropriate g_slice_alloc() and give it a g_slice_free() partner function.
|
#
113937 |
|
23-Apr-2003 |
phk |
Rename g_call_me() to g_post_event(), and give it a flag argument to determine if we can M_WAITOK in malloc.
|
#
113878 |
|
22-Apr-2003 |
phk |
Do not mandate that slicers have a private ->start(), they may not need one. KASSERT() that they have one if G_SLICE_HOT_START is used.
|
#
113713 |
|
19-Apr-2003 |
phk |
Make more of the "hotspot" stuff generic:
Give the class a way to specify the necessary action for read/delete/write: ALLOW, DENY, START or CALL.
Update geom_bsd to use this.
|
#
113712 |
|
19-Apr-2003 |
phk |
Create a dedicated structure for holding hotspot information rather than using slice structures for it.
|
#
113432 |
|
13-Apr-2003 |
phk |
Time has run from the "run GEOM in userland" harness, and the new regression test is built to test GEOM as running in the kernel.
This commit is basically "unifdef -D_KERNEL" to remove the mainly #include related code to support the userland-harness.
|
#
113390 |
|
12-Apr-2003 |
phk |
Retire the "frontstuff" record keeping, it was no match for the in-band meta-data of BSD labels and a more complex solution will be needed.
|
#
113032 |
|
03-Apr-2003 |
phk |
Remove all references to BIO_SETATTR. We will not be using it.
|
#
112367 |
|
18-Mar-2003 |
phk |
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.
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
110713 |
|
11-Feb-2003 |
phk |
Don't divide by zero if there is no stripewidth specified.
|
#
110710 |
|
11-Feb-2003 |
phk |
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.
|
#
110696 |
|
11-Feb-2003 |
phk |
Propagate G_PF_CANDELETE to our own providers from the provider we attach to.
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
108003 |
|
17-Dec-2002 |
phk |
Add a check for negative offset locations and return EINVAL for them.
|
#
107956 |
|
16-Dec-2002 |
phk |
Get rid of g_slice_addslice() and use g_slice_config() instead.
Tested with: i386 + src/tools/regression/geom
|
#
107953 |
|
16-Dec-2002 |
phk |
Constification and some s/int/u_int/ changes.
|
#
107832 |
|
13-Dec-2002 |
phk |
Don't interpret the hotspots relative to all slices on a slicer, but relative to the parent device.
|
#
107522 |
|
02-Dec-2002 |
phk |
Add a simplified version of the hot-spot code to enable us to protect in-band disklabels from in-band vandalism.
Approve by: re
|
#
107116 |
|
20-Nov-2002 |
phk |
Remember to update the providers idea of its size when we reconfigure a slice child.
Approved by: re
|
#
106101 |
|
28-Oct-2002 |
phk |
Add the remaning part of the new libdisk interaction.
WARNING: This is not a published interface, it is a stopgap measure for WARNING: libdisk so we can get 5.0-R out of the door.
Sponsored by: DARPA & NAI Labs
|
#
105957 |
|
25-Oct-2002 |
phk |
Reduce the GEOM verbosity under bootverbose to something more sufferable. This is not quite the set of information I would want, but the tree where I have the "correct" version is messed up with conflicts.
Sponsored by: DARPA & NAI Labs.
|
#
105551 |
|
20-Oct-2002 |
phk |
Now that the sectorsize and mediasize are properties of the provider, don't take the detour over the I/O path to discover them using getattr(), we can just pick them out directly.
Do note though, that for now they are only valid after the first open of the underlying disk device due compatibility with the old disk_create() API. This will change in the future so they will always be valid.
Sponsored by: DARPA & NAI Labs.
|
#
105542 |
|
20-Oct-2002 |
phk |
Make the sectorsize a property of providers so we can include it in the XML output.
Sponsored by: DARPA & NAI Labs
|
#
105540 |
|
20-Oct-2002 |
phk |
Use %jd instead of %lld now that we have it.
|
#
105133 |
|
14-Oct-2002 |
phk |
Remove a bogus local variable.
Sponsored by: DARPA & NAI Labs.
|
#
104195 |
|
30-Sep-2002 |
phk |
Retire g_io_fail() and let g_io_deliver() take an error argument instead.
Sponsored by: DARPA & NAI Labs.
|
#
104087 |
|
28-Sep-2002 |
phk |
Style, whitespace and lint fixes.
Sponsored by: DARPA & NAI Labs.
|
#
104081 |
|
28-Sep-2002 |
phk |
First confirmed kill from my Flexelint license: Check return value of g_clone_bio().
Detected by: http://www.gimpel.com/html/flex.htm Sponsored by: DARPA & NAI Labs.
|
#
104064 |
|
27-Sep-2002 |
phk |
Add the new g_slice_config() call, which can add/delete/change a slice, with support for trying, doing and forcing.
This will eventually replace g_slice_addslice() which gets changed from grabbing topology to requing it in this commit as well.
Sponsored by: DARPA & NAI Labs.
|
#
104057 |
|
27-Sep-2002 |
phk |
Add checks for g_clone_bio() returning NULL, it will be possible RSN.
Sponsored by: DARPA & NAI Labs.
|
#
98066 |
|
09-Jun-2002 |
phk |
Improve some on the naming.
Submitted by: iedowse
|
#
96952 |
|
19-May-2002 |
phk |
Include needed #include for regression tests.
Sponsored by: DARPA & NAI Labs.
|
#
95323 |
|
23-Apr-2002 |
phk |
Implement the GEOMGETCONF ioctl which returns vital stats for the current device in XML in an sbuf.
Sponsored by: DARPA & NAI Labs
|
#
95321 |
|
23-Apr-2002 |
phk |
All in a days work: make a function static.
|
#
95310 |
|
23-Apr-2002 |
phk |
Introduce some serious paranoia to try to catch a memory overwrite problem as early as possible.
Sponsored by: DARPA & NAI Labs
|
#
95038 |
|
19-Apr-2002 |
phk |
Make kernel dumps work with GEOM.
Notice that if the device on which the dump is set is destroyed for any reason, the dump setting is lost. This in particular will happen in the case of spoilage. For instance if you set dump on ad0s1b and open ad0 for writing, ad0s* will be spoilt and the dump setting lost. See geom(4) for more about spoiling.
Sponsored by: DARPA & NAI Labs.
|
#
94287 |
|
09-Apr-2002 |
phk |
Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start of the device magic stuff might occupy.
Sponsored by: DARPA & NAI Labs.
|
#
93778 |
|
04-Apr-2002 |
phk |
Centralize EOF handling and improve access controls for bio scheduling.
Sponsored by: DARPA & NAI Labs
|
#
93776 |
|
04-Apr-2002 |
phk |
Move access and orphan member functions from class to geom.
Sponsored by: DARPA & NAI Labs
|
#
93326 |
|
28-Mar-2002 |
phk |
In the absense of any smarter way to do this, cast various printf arguments to silence printf format warnings.
|
#
93250 |
|
26-Mar-2002 |
phk |
Eliminate some thread pointers which do not make sense anymore.
Split private parts of geom.h into geom_int.h. The latter should never be included in class implemtations.
|
#
93248 |
|
26-Mar-2002 |
phk |
Cave in to tradition and rename "methods" to "classes".
|
#
92474 |
|
17-Mar-2002 |
phk |
Forgot to remove the old g_malloc() call when I split it.
Spotted by: dima
|
#
92371 |
|
15-Mar-2002 |
phk |
Try to get used to architectures which are picky about alignment.
|
#
92108 |
|
11-Mar-2002 |
phk |
First commit of the GEOM subsystem to make it easier for people to test and play with this.
This is not yet production quality and should be run only on dedicated test boxes.
For people who want to develop transformations for GEOM there exist a set of shims to run geom in userland (ask phk@freebsd.org).
Reports of all kinds to: phk@freebsd.org Please include in report: dmesg sysctl debug.geomdot sysctl debug.geomconf
Known significant limitations: no kernel dump facility. ioctls severely restricted.
Sponsored by: DARPA, NAI Labs
|