summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* - Use bioq_insert_tail()/bioq_insert_head() instead of bioq_disksort().pjd2005-02-051-3/+7
| | | | | | - Improve mediasize checking. MFC after: 1 week
* When dumping to a unpartitioned disk, make sure to chop thephk2005-01-291-0/+2
| | | | | | length of the dump area accordingly. Run into by: scottl
* - If mpsafevfs is off, acquire giant around all calls to bufdone().jeff2005-01-281-0/+4
| | | | Sponsored by: Isilon Systems, Inc.
* Introduce and use g_vfs_close().phk2005-01-252-0/+12
|
* Create a correctly sized vnode objects for disk devices.phk2005-01-241-0/+1
|
* - Don't acquire giant around calls to bufdone().jeff2005-01-241-2/+0
| | | | Sponsored By: Isilon Systems, Inc.
* Only report state changes of subdisks and plexes when there'sle2005-01-211-2/+14
| | | | | | really a state change. Reword the info a bit.
* Don't initialize error with ENXIO as we might end up here whenle2005-01-211-2/+1
| | | | the plex has no more consumers (e.g. orphaning).
* Protect against recursive slices creation in simlar way as it is donepjd2005-01-201-7/+33
| | | | | | | | | | in BSD class, ie. if provider below us uses the same metadata, don't create slices based on the metadata. This allows to create slices on geoms with rank != 1 without hacks. Discussed with: phk Approved by: phk MFC after: 2 weeks
* Rename synchronization and initialization threads and prefix themle2005-01-191-2/+2
| | | | with 'gv_' for consistency.
* Although an object may already be known in the configuration, it'sle2005-01-193-5/+32
| | | | | | | worker thread may have been destroyed (e.g. during orphaning). Make sure that objects get back their worker threads when they get a new geom.
* Reset object flags after killing off an object's worker thread.le2005-01-191-0/+6
|
* Discontinue zero-length g_ctl arguments as "just give him this pointer"phk2005-01-171-6/+1
| | | | | transfers. The necessary context for calling copyin() isn't available anyway and automatic code-validation chokes on this.
* CAM will sometimes remove a disk again even before it finished beingphk2005-01-141-2/+4
| | | | | initialized. We already cancel the pending events but we need to not dereference the geom pointer which never got set different from NULL.
* Introduce a new GEOM class - SHSEC. It provides sharing secret betweenpjd2005-01-112-0/+935
| | | | | | | | the given providers. Without even one of the configured components there should be no way to get the secret. Supported by: WHEEL Sp. z o.o. http://www.wheel.pl
* Add BO_SYNC() and add a default which uses the secret vnode pointerphk2005-01-111-0/+1
| | | | and VOP_FSYNC() for now.
* Increase default synchronization speed.pjd2005-01-092-2/+2
| | | | MFC after: 3 days
OpenPOWER on IntegriCloud