summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* Add CANCEL command which allows to remove one request from the queue orpjd2005-07-082-4/+53
| | | | | | | | all requests from the queue if request number is not given. Bump version number. Approved by: re (scottl)
* After provider creation!!pjd2005-05-251-6/+6
|
* - Call root_mount_rel() when provider IS created, not earlier.pjd2005-05-251-8/+20
| | | | | This should close the race observed by Daniel Eriksson. - Remove redundant wakeup().
* Add some debug code to diagnose root-on-mirror problems with recent -current.pjd2005-05-231-0/+3
| | | | Reported by: Daniel Eriksson
* Correct typo.pjd2005-05-181-1/+1
|
* When a drive dies, don't call g_wither_geom() directly, but insteadle2005-05-171-46/+71
| | | | | | | post an event to the geom event queue that will take care of it, letting outstanding bios finish, and closing the consumers. Plus some cosmetic clean ups.
* cp can't be NULL.pjd2005-05-111-7/+5
| | | | Noticed by: Coverity Prevent analysis tool
* gp can't be NULL.pjd2005-05-111-10/+8
| | | | Noticed by: Coverity Prevent analysis tool
* Add KASSERT() to be sure there is an active component.pjd2005-05-111-0/+1
| | | | Suggested by: Coverity Prevent analysis tool
* Check return value.pjd2005-05-111-0/+4
| | | | Found by: Coverity Prevent analysis tool
* Fix signed vs unsigned warning.nyan2005-05-011-2/+2
|
* Only allow RAID5 plexes to be parity checked.le2005-04-281-0/+4
| | | | | PR: kern/80427 Submitty by: Stijn Hoop <stijn@win.tue.nl>
* Fix provider's size check for 'insert' command.pjd2005-04-251-1/+2
| | | | | | Before this fix one was able to insert one sector too small provider. MFC after: 3 days
* The size of a filesystem may be less than the size of the provider itwollman2005-04-191-2/+2
| | | | | | | resides on. Fix the special case of the filesystem fragment size not evenly dividing the size of the provider. Fixing the general case probably requires better superblock validation (left as an exercise to the reader).
* Remove the hack which allowed to use gmirror for root file system,pjd2005-04-192-49/+8
| | | | use root_mount KPI instead.
* Call g_waitidle() instead of GEOM using the root_mount_hold() KPI.phk2005-04-191-6/+0
| | | | | GEOM could (and will) get events as a result of drivers coming in late so a one-shot method is not good enough for GEOM.
* Add a named reference-count KPI to hold off mounting of the root filesystem.phk2005-04-181-0/+6
| | | | | | | | | | | | While we wait for holds to be released, print a list of who holds us back once per second. Use the new KPI from GEOM instead of vfs_mount.c calling g_waitidle(). Use the new KPI also from ata. With ATAmkIII's newbusification, ata could narrowly miss the window and ad0 would not exist when we tried to mount root.
* Protect against recursive labels creation in simlar way as it is donepjd2005-04-121-6/+46
| | | | | | | | | | in BSD and MBR classes, ie. if provider below us uses the same metadata, don't create labels based on the metadata. This allows to create labels on geoms with rank != 1 without hacks. Tested by: Chris Elsworth <chris@shagged.org> on sparc64 OK'ed by: phk MFC after: 2 weeks
* Fix a long-standing bug. Error string has to be copyied from the userpjd2005-04-081-5/+9
| | | | | | | process context. Approved by: phk MFC after: 3 days
* - Add a missing g_io_deliver() in case of allocation failure - we didn'tpjd2005-04-031-3/+17
| | | | | | | | | completed I/O requests here. - First allocate all needed bios, so if any of allocations fail, we can free memory before sending any I/O requests down. Reported by: Pawel Malachowski MFC after: 3 days
* Remove geometry translations here.nyan2005-03-301-23/+0
|
* Support VTOC volume names. This can be useful to distinguish multiplejoerg2005-03-301-1/+11
| | | | | | | disks in a system. Solaris' format(1m) displays the volume names in the disk overview. MFC after: 1 month
* fix a "modify after free" bug which is practically impossible tophk2005-03-261-5/+8
| | | | | | experience. Found by: Coverity (id #540 #541)
* If an error occurs, clean up before returning from g_raid3_connect_disk().pjd2005-03-261-14/+17
|
* Make the code more obvious - when an error occurs in g_mirror_connect_disk(),pjd2005-03-261-9/+13
| | | | detach and destroy consumer before returning.
* Check for return values.pjd2005-03-262-0/+20
| | | | | Submitted by: sam Found by: Coverity Prevent analysis tool
* g_read_data() can return NULL, check for it.phk2005-03-181-0/+2
| | | | Found by: Coverity (ID#258)
* After rejecting the bio request early, return instead of panicing.phk2005-03-181-1/+3
| | | | Found by: Coverity (ID#450)
* Avoid null pointer dereference.phk2005-03-181-3/+2
|
* Plug memory leak.pjd2005-03-161-2/+1
| | | | | | | Submitted by: Ted Unangst Found by: Coverity Prevent analysis tool Approved by: phk MFC after: 3 days
* forward declare struct disk.phk2005-03-151-0/+2
|
* Do not attach MBR on top of an MBR. This removes some confusingphk2005-03-141-0/+2
| | | | | | slice names on disks with extended partitions. Spotted on: Mother-in-laws computer.
* stop including rijndael-api-fst.h from rijndael.h.ume2005-03-115-7/+5
| | | | this is required to integrate opencrypto into crypto.
* Remove test for zero sectorsize when tasting. This check doesn'tle2005-03-072-6/+0
| | | | | | seem to be necessary anymore, and it prevents tasting a valid drive when booting with geom_vinum already loaded, since SCSI disks set their sectorsize not until first opening them.
* Add placeholder mutex argument to new_unrhdr().phk2005-03-071-2/+1
|
* Don't allow to synchronize a plex that is already sychronizing.le2005-03-041-13/+24
| | | | | | Reset the 'syncing' flag in case of errors, too. Some cosmetics.
* - Add md_provsize field to metadata, which will help withpjd2005-02-2712-24/+176
| | | | | | | | | | | | | | | | | shared-last-sector problem. After this change, even if there is more than one provider with the same last sector, the proper one will be chosen based on its size. It still doesn't fix the 'c' partition problem (when da0s1 can be confused with da0s1c) and situation when 'a' partition starts at offset 0 (then da0s1a can be confused with da0s1 and da0s1c). One can use '-h' option there, when creating device or avoid sharing last sector. Actually, when providers share the same last sector and their size is equal, they provide exactly the same data, so the name (da0s1, da0s1a, da0s1c) isn't important at all. - Provide backward compatibility. - Update copyright's year. MFC after: 1 week
* Correctly calculate what to do and how to retry a request to a plex whenle2005-02-232-12/+47
| | | | | | | the previous one failed and there are more than one plex in the volume. This could have led to a flood of error messages on the console and probably a deadlock in certain situations.
* Try to unbreak the vnode locking around vop_reclaim() (based mostly onphk2005-02-191-0/+4
| | | | | | | | | patch from kan@). Pull bufobj_invalbuf() out of vinvalbuf() and make g_vfs call it on close. This is not yet a generally safe function, but for this very specific use it is safe. This solves the problem with buffers not being flushed by unmount or after failed mount attempts.
* In case of drive errors, don't close the associated consumer andle2005-02-171-10/+2
| | | | | | detach it, but instead let the geom wither away. Bump copyright year.
* Fix year in copyrights.pjd2005-02-162-2/+2
|
* Update copyright in files changed this year.pjd2005-02-168-8/+8
|
* Fix year in copyrights.pjd2005-02-162-2/+2
|
* Remove mutex asserion from g_gate_find(). We don't want g_gate_list_mtxpjd2005-02-161-1/+0
| | | | mutex to be held here, because we want speed here.
* Remove TDP_GEOM flag from thread after ggate device creation.pjd2005-02-161-0/+7
| | | | | | | This flag means "wait for all pending requests before returning to userland". There are pending events for sure, because we just created new provider and other classes want to taste it, but we cannot answer on I/O requests until we're here.
* Fix typo. We want to unlock mutex here.pjd2005-02-121-1/+1
| | | | | Submitted by: Andreas Kohn <andreas.kohn@gmail.com> MFC after: 1 week
* Make various random things staticphk2005-02-104-5/+6
|
* - Remove g_gate_hold()/g_gate_release() from start/done paths. It savespjd2005-02-092-59/+40
| | | | | | | | | | 4 mutex operations per I/O requests. - Use only one mutex to protect both (incoming and outgoing) queue. As MUTEX_PROFILING(9) shows, there is no big contention for this lock. - Protect sc_queue_count with queue mutex, instead of doing atomic operations on it. - Remove DROP_GIANT()/PICKUP_GIANT() - ggate is marked as MPSAFE and no Giant there.
* merge from geom_vol_ffs.c rev 1.14 (avoid unaligned I/O requests)des2005-02-081-0/+10
|
* Take care not to issue unaligned I/O requests while tasting a provider.des2005-02-081-0/+10
|
OpenPOWER on IntegriCloud