summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* -) Correct sdcount for a plex when removing or adding subdisks.le2007-04-123-3/+93
| | | | | | -) Set correct sizes for plexes and volumes a subdisk has been removed. Submitted by: Ulf Lilleengen <lulf_AT_freebsd.org>
* Avoid infinite loop if the device string given for a drivele2007-04-121-6/+3
| | | | | | only consists of "/". Submitted by: Ulf Lilleengen <lulf_AT_freebsd.org>
* Use root_mounted().pjd2007-04-081-1/+1
|
* Fix a bug for over 4GB media.simokawa2007-04-071-1/+1
| | | | MFC after: 3 days
* Sysctl description is not a format string, so one % is enough.pjd2007-04-061-1/+1
|
* - Be more verbose when saying "foo" not found.delphij2007-03-301-10/+10
| | | | | | | - In gctl_get_geom(), don't issue error when we were not provided with an parameter, like gctl_get_provider() did. Reviewed by: pjd
* make_dev(9) can be (and is) called without Giant, so there is no need tokris2007-03-261-8/+0
| | | | | | drop the topology lock and acquire Giant around this call. Reviewed by: phk
* Add missing \n.pjd2007-03-221-2/+2
|
* Overhaul driver/subsystem api's:sam2007-03-212-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate. These changes were instigated by the work of Michael Richardson. Reviewed by: pjd Approved by: re
* Warn when user use sectorsize bigger than the page size, which will leadpjd2007-03-051-0/+4
| | | | | | | | to problems when the geli device is used with file system or as a swap. Hopefully will prevent problems like kern/98742 in the future. MFC after: 1 week
* Fix geli after last commit for UP systems that are running SMP kernel.pjd2007-03-021-1/+2
| | | | | Submitted by: Hyo geol, Lee <hyogeollee@gmail.com> MFC after: 1 week
* Use pause() rather than tsleep() on stack variables and function pointers.jhb2007-02-272-4/+4
|
* First cut at GEOM based multipath. This is an active/passive{/passive...}mjacob2007-02-272-0/+867
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arrangement that has no intrinsic internal knowledge of whether devices it is given are truly multipath devices. As such, this is a simplistic approach, but still a useful one. The basic approach is to (at present- this will change soon) use camcontrol to find likely identical devices and and label the trailing sector of the first one. This label contains both a full UUID and a name. The name is what is presented in /dev/multipath, but the UUID is used as a true distinguishor at g_taste time, thus making sure we don't have chaos on a shared SAN where everyone names their data multipath as "Fred". The first of N identical devices (and N *may* be 1!) becomes the active path until a BIO request is failed with EIO or ENXIO. When this occurs, the active disk is ripped away and the next in a list is picked to (retry and) continue with. During g_taste events new disks that meet the match criteria for existing multipath geoms get added to the tail end of the list. Thus, this active/passive setup actually does work for devices which go away and come back, as do (now) mpt(4) and isp(4) SAN based disks. There is still a lot to do to improve this- like about 5 of the 12 recommendations I've received about it, but it's been functional enough for a while that it deserves a broader test base. Reviewed by: pjd Sponsored by: IronPort Systems MFC: 2 months
* Use tsleep() rather than msleep() with a NULL mtx parameter.jhb2007-02-232-2/+2
|
* Reduce the noise when plugging in (USB) mass storage devices, like a 4 portn_hibma2007-02-211-1/+1
| | | | | | | | | flash card reader. Also remove an 'Opened da0 -> <random number>' which is not needed on a daily basis (available through bootverbose). Reviewed by: phk, ken MFC after: 1 week
* #include <sys/systm.h> before <sys/geom.h> to get KASSERT(), and fix LINT build.rodrigc2007-02-081-0/+1
|
* Evolve the ctlreq interface added to geom_gpt into a genericmarcel2007-02-077-1619/+2782
| | | | | | | | | | | partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
* We expect 'bio_data != NULL' for BIO_{READ,WRITE,GETATTR}, but forpjd2007-01-281-2/+7
| | | | | | BIO_{DELETE,FLUSH} we expect 'bio_data == NULL'. Reviewed by: phk
* It is possible that GEOM taste provider before SMP is started.pjd2007-01-281-0/+7
| | | | | | | | We can't bind to a CPU which is not yet on-line, so add code that wait for CPUs to go on-line before binding to them. Reported by: Alin-Adrian Anton <aanton@spintech.ro> MFC after: 2 weeks
* Cylinder group bitmaps and blocks containing inode for a snapshotkib2007-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | file are after snaplock, while other ffs device buffers are before snaplock in global lock order. By itself, this could cause deadlock when bdwrite() tries to flush dirty buffers on snapshotted ffs. If, during the flush, COW activity for snapshot needs to allocate block and ffs_alloccg() selects the cylinder group that is being written by bdwrite(), then kernel would panic due to recursive buffer lock acquision. Avoid dealing with buffers in bdwrite() that are from other side of snaplock divisor in the lock order then the buffer being written. Add new BOP, bop_bdwrite(), to do dirty buffer flushing for same vnode in the bdwrite(). Default implementation, bufbdflush(), refactors the code from bdwrite(). For ffs device buffers, specialized implementation is used. Reviewed by: tegge, jeff, Russell Cattelan (cattelan xfs org, xfs changes) Tested by: Peter Holm X-MFC after: 3 weeks (if ever: it changes ABI)
* Softc may be NULL in g_journal_orphan(), so don't be surprised.pjd2006-12-021-3/+4
|
* Fix ia64 build breakage.pjd2006-11-021-0/+2
|
* - Use g_duplicate_bio() instead of g_clone_bio(), so there memory ispjd2006-11-021-5/+3
| | | | | | | | allocated with M_WAITOK flag. - Check 'buf' instead of 'error' so Prevent is not confused. CID: 1562, 1563 Found by: Coverity Prevent analysis tool
* I want CPU number here.pjd2006-11-021-1/+1
| | | | Noticed by: ru
* Grr, fix one more build breakage.pjd2006-11-021-0/+1
|
* Now, that we have gjournal in the tree add possibility to configurepjd2006-11-016-15/+98
| | | | | | gmirror and graid3 in a way that it is not resynchronized after a power failure or system crash. It is safe when gjournal is running on top of gmirror/graid3.
* Change spaces to tabs where needed.pjd2006-11-014-28/+28
|
* Skip disabled CPU, because after we sched_bind() to a disabled CPU,pjd2006-11-011-1/+16
| | | | | | | | | | we won't be able to exit from the thread. Function g_eli_cpu_is_disabled() stoled from kern_pmc.c. PR: 104669 Reported by: Nikolay Mirin <nik@optim.com.ru> MFC after: 1 week
* Forgot to remove this line.pjd2006-11-011-1/+0
| | | | Reported by: maxim
* Add BIO_FLUSH support to GSHSEC class.pjd2006-11-011-0/+1
|
* Add BIO_FLUSH support to GPT class.pjd2006-11-011-0/+2
|
* Update the code to the current sync(2) version:pjd2006-11-011-4/+12
| | | | | | | | - Do not modify mnt_flag without mount interlock held. - Do not touch MNT_ASYNC flag, as this can lead to a race with nmount(2). Pointed out by: tegge Reviewed by: tegge
* Remove debugging code I accidentally committed.pjd2006-11-011-35/+0
|
* Add gjournal GEOM class (kernel side), which implements block levelpjd2006-10-313-0/+3555
| | | | | | | | journaling and can be tought about marking file system as clean before doing journal switch, which easly allows to add journaling to file systems that don't have this feature. Sponsored by: home.pl
* Implement BIO_FLUSH handling by simply passing it down to the components.pjd2006-10-316-3/+174
| | | | Sponsored by: home.pl
* Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the diskpjd2006-10-312-1/+22
| | | | | | can handle BIO_FLUSH requests. Sponsored by: home.pl
* Add a new I/O request - BIO_FLUSH, which basically tells providers below topjd2006-10-312-1/+30
| | | | | | | flush their caches. For now will mostly be used by disks to flush their write cache. Sponsored by: home.pl
* Guard against invalid metadata.pjd2006-10-101-0/+6
| | | | MFC after: 1 week
* A GEOM cache can speed up read performance by sending fixed sizeru2006-10-062-0/+1183
| | | | | | | | | | read requests to its consumer. It has been developed to address the problem of a horrible read performance of a 64k blocksize FS residing on a RAID3 array with 8 data components, where a single disk component would only get 8k read requests, thus effectively killing disk performance under high load. Documentation will be provided later. I'd like to thank Vsevolod Lobko for his bright ideas, and Pawel Jakub Dawidek for helping me fix the nasty bug.
* One more white space fix.pjd2006-09-301-1/+1
|
* Remove trailing spaces.pjd2006-09-305-7/+7
|
* Remove trailing spaces.pjd2006-09-301-16/+16
|
* Fix detecting of UFS1 label when mediasize%fragsize != 0.pjd2006-09-161-2/+2
| | | | | | Submitted by: Stanislav Sedov PR: kern/84637 MFC after: 1 week
* Add 'configure' subcommand which for now only allows setting and removingpjd2006-09-162-3/+116
| | | | | | | | of the BOOT flag. It can be performed on both attached and detached providers. Requested by: Matthias Lederhofer <matled@gmx.net> MFC after: 1 week
* Add __printflike() to gctl_error().pjd2006-09-161-1/+1
| | | | | Approved by: phk MFC after: 1 week
* Small fixes after adding __printflike() to gctl_error().pjd2006-09-161-4/+4
| | | | | Approved by: phk MFC after: 3 days
* Remove extra arguments.pjd2006-09-161-2/+1
| | | | MFC after: 3 days
* Add 'show geom [addr]' ddb(4) command, which prints entire GEOM topology ifpjd2006-09-152-2/+215
| | | | | | | no additional argument is given or details about the given GEOM object (class, geom, provider or consumer). Approved by: phk
* Fix synchronization in gmirror and graid3 which I broken. Synchronizationpjd2006-09-132-6/+12
| | | | | | | | request can still have bio_to set to sc_provider (this is READ part of a synchronization request) and in this case g_{mirror,raid3}_sync() wasn't called as it should be. MFC after: 1 week
* Delay an orphan event if provider has still in-flight I/O requests.pjd2006-09-101-1/+4
| | | | | | | | | | | This way GEOM classes can safely detach from provider when an orphan event is received. This fixes 'detach with active requests' panic for gstripe/gconcat under load. PR: kern/102766 Submitted by: mjacob OK'ed by: phk MFC after: 1 week
OpenPOWER on IntegriCloud