summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* Rough implementation of the create and add verbs. The verbs causemarcel2005-10-091-2/+290
| | | | | in-memory changes only and as such are only useful for prototyping and regression testing purposes.
* Move some devstat collection to below where large IO operations are choppedtegge2005-09-301-3/+3
| | | | | | | up. This make iostat report operations passed down to the device driver instead of operations passed down to GEOM disk. The transfer size limit imposed by the device driver is no longer hidden, improving the correlation between iostat output and device driver workload.
* - Fix "end_blk out of range" panic when INVARIANTS.fjoe2005-09-291-2/+5
| | | | | | | - Do not allow rw access. Submitted by: Dario Freni <saturnero at freesbie dot org> MFC after: 3 days
* o Don't cause a panic when the control request lacks a verb.marcel2005-09-181-5/+9
| | | | | o Don't set the error twice when the named class does not exist. It causes ioctl(2) to return with error EEXIST.
* Complete rewrite in preparation of adding support for controlmarcel2005-09-171-154/+726
| | | | | | | | | | | | | | | | | requests. The following features have been added: 1. Extensive checking and validation of both the primary and secondary headers to protect against corrupted data and to take advantage of the redundancy to allow the GPT to be used in the face of recoverable corruption. 2. Dynamic data-structures to avoid hardcoding gratuitous table limits so as to support the creation of GPT tables of (as of yet) unspecified size. 3. Only allow kernel dumps to swap partitions to provide the necessary anti-footshooting measures. Linux swap partitions are allowed. 4. Complete dump of the GPT configuration, including labels. 5. Supports Byte Order Mark (U+FEFF) handling for big-endian, little-endian and mixed-endian partition names.
* - Add a new simple facility for marking the current thread as being in ajhb2005-09-151-30/+7
| | | | | | | | | | | | | state where sleeping on a sleep queue is not allowed. The facility doesn't support recursion but uses a simple private per-thread flag (TDP_NOSLEEPING). The sleepq_add() function will panic if the flag is set and INVARIANTS is enabled. - Use this new facility to replace the g_xup and g_xdown mutexes that were (ab)used to achieve similar behavior. - Disallow sleeping in interrupt threads when invoking interrupt handlers. MFC after: 1 week Reviewed by: phk
* Fix so that when a slice or a partition is removed through g_slice_config(),rodrigc2005-09-141-0/+1
| | | | | | | | | | | | 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
* Fix copy&paste typo.pjd2005-09-101-1/+1
| | | | MFC after: 3 days
* Don't forget to initialize crp_etype field.pjd2005-09-101-0/+1
| | | | | Reported by: Nick Evans <nevans@syphen.net> MFC after: 3 days
* Set the G_PF_WITHER flag on the subdisk provider that is about tole2005-09-081-34/+1
| | | | | be destroyed. That way the GEOM system handles all deallocations and we don't have to do it ourselves.
* Remove a race condition that could result in processes being stuckphk2005-09-041-24/+30
| | | | | | | | | | | | waiting for geom events to happen: Instead of maintaining a count of outstanding events, simply look if the queue is empty. Make sure to not remove events from the queue until they are executed in order to not open a new race. Much work by: pjd Tested by: kris MT6: yes, should be.
* Typo.phk2005-09-031-1/+1
|
* Use KTR to log allocations and destructions of bios.pjd2005-08-291-0/+36
| | | | This should hopefully allow to track down "duplicate free of g_bio" panics.
* Prevent that sync operations can be started when they are alreadyle2005-08-281-71/+81
| | | | | in progress, and be a bit more user friendly in terms of error messages returned from the kernel.
* Verify length of the data to read as well.pjd2005-08-281-0/+2
|
* Shuffle around the order in which the components are compiled.le2005-08-261-14/+4
| | | | | | | | | This way, the VINUMDRIVE class is loaded before the VINUM class, but since geom does the tasting for newly arrived classes last-in-first-out, the VINUM class tastes first. This removes the need to call gv_parse_config() in the drive taste path.
* Verify offset before reading.pjd2005-08-261-1/+5
| | | | MFC after: 2 days
* Add NTFS labeling function.takawata2005-08-263-0/+115
| | | | Reviewed by:pjd
* Verify if we can actually read the data at given offset.pjd2005-08-232-6/+13
| | | | Reported by: Martin <nakal@nurfuerspam.de>
* Correct the check if a plex is accessible in case it is not up.le2005-08-221-1/+1
| | | | This makes degraded RAID5 plexes actually work.
* By default, when doing crypto work in software, start as many threadspjd2005-08-211-5/+10
| | | | | | as we have active CPUs and bind each thread to its own CPU. MFC after: 3 days
* Remove stale comment (we now always start worker thread).pjd2005-08-211-5/+0
| | | | MFC after: 3 days
* Back-out the change from revision 1.14 and allow for '/' in labels again.pjd2005-08-201-8/+0
| | | | | Convinced by: green, Gavin Atkinson, dougb, gordon MFC after: 1 day
* Add a __packed keyword to g_eli_metadata struct definition, sopjd2005-08-201-1/+1
| | | | | | | | | | | sizeof(struct g_eli_metadata) will return the exact number of bytes needed for storing it on the disk. Without this change GELI was unusable on amd64 (and probably other 64-bit archs), because sizeof(struct g_eli_metadata) was greater than 512 bytes and geli(8) was failing on assertion. Reported by: Michael Reifenberger <mike@Reifenberger.com> MFC after: 3 days
* Allow to change number of iterations for PKCS#5v2. It can only be usedpjd2005-08-191-2/+21
| | | | | | when there is only one key set. MFC after: 3 days
* - Add a missing period.pjd2005-08-191-3/+3
| | | | | | - Fix number of spaces. MFC after: 3 days
* Avoid code duplication and implement bitcount32() function in systm.h only.pjd2005-08-192-7/+1
| | | | | Reviewed by: cperciva MFC after: 3 days
* Always run dedicated kernel thread (even when we have hardware support).pjd2005-08-171-114/+37
| | | | | | | | There is no performance impact, but allows to allocate memory with M_WAITOK flag. As a side effect this simplify code a bit. MFC after: 3 days
* We should now return 0.pjd2005-08-171-1/+1
|
* Even if crypto_dispatch() return an error, request is not canceled andpjd2005-08-171-12/+2
| | | | | | | | our callback will still be called, just to tell us that requested failed... Reported by: Mike Tancsa <mike@sentex.net> MFC after: 3 days
* We don't need to clear allocated memory. This will speed-up things a bit.pjd2005-08-171-1/+1
| | | | MFC after: 3 days
* remove stale commentsphk2005-08-161-2/+0
|
* Make it possible to remove stale, left-over subdisks.le2005-08-162-10/+11
|
* Fix a stupid logic bug introduced in geom_vinum_drive.c rev 1.18:le2005-08-153-1/+9
| | | | | | | When a drive is newly created, it's state is initially set to 'down', so it won't allow saving the config to it (thus it will never know of itself being created). Work around this by adding a new flag, that's also checked when saving the config to a drive.
* Because code paths for I/O requests are quite complex, add comments abovepjd2005-08-131-0/+12
| | | | | | the functions which participate in I/O paths. MFC after: 1 day
* Provide more complete "How to add a new file system to glabel." list.pjd2005-08-121-3/+7
| | | | MFC after: 1 week
* Add code for Ext2FS and ReiserFS labels recognition.pjd2005-08-124-0/+206
| | | | | | Submitted by: Stanislav Sedov <stas@310.ru> PR: kern/84638 MFC after: 1 week
* Avoid creating directories in devfs by changing all '/' in labels to '_'.pjd2005-08-121-0/+8
| | | | | Idea from: Stanislav Sedov <stas@310.ru> MFC after: 3 days
* GELI doesn't need cryptodev.pjd2005-08-111-1/+0
| | | | MFC after: 3 days
* Be case-insensitive when dealing with algorithm names.pjd2005-08-081-4/+5
| | | | | PR: kern/84659 Submitted by: Benjamin Lutz <benlutz@datacomm.ch>
* MFp4: Export more informations about encrypted providers.pjd2005-07-271-0/+32
| | | | MFC after: 1 week
* Reduce default debug level to 0.pjd2005-07-271-1/+1
| | | | MFC after: 1 week
* Add GEOM_ELI class which provides GEOM providers encryption.pjd2005-07-277-0/+2757
| | | | | | | | For features list and usage see manual page: geli(8). Sponsored by: Wheel Sp. z o.o. http://www.wheel.pl MFC after: 1 week
* Use root_mount KPI for RAID3 to delay root file system mount.pjd2005-07-272-0/+28
| | | | | | | | | Actually, one cannot setup root file system on RAID3 device, but when other file system exist in /etc/fstab which are placed on RAID3 device, boot process will be interrupted when these devices are missing. MFC after: 3 days X-MFC-note: MFC only to RELENG_6, as RELENG_5 doesn't have root_mount KPI.
* By design I left a tiny race in updating the I/O statistics based onphk2005-07-251-8/+14
| | | | | | | | | | | | the assumption that performance was more important that beancounter quality statistics. As it transpires the microoptimization is not measurable in the real world and the inconsistent statistics confuse users, so revert the decision. MT6 candidate: possibly MT5 candidate: possibly
* Add a very simple and small GEOM class - ZERO.pjd2005-07-251-0/+113
| | | | | | | | | | | It creates very huge provider (41PB) /dev/gzero. On BIO_READ request it zero-fills bio_data and on BIO_WRITE it does nothing. You can also set kern.geom.zero.clear sysctl to 0 to do nothing even for BIO_READ. I'm using it for performance testing where it is very helpful. MFC after: 3 days
* Comment typophk2005-07-201-1/+1
|
* Before calling g_orphan_provider(), add G_PF_WITHER flag, so GEOM will knowpjd2005-07-172-0/+2
| | | | | | | | to destroy it. PR: kern/81758 Submitted by: trasz <trasz@buziaczek.pl> MFC after: 3 days
* Merged from geom_mbr.c revisions 1.62 and 1.66.nyan2005-07-151-6/+68
| | | | - Implement a gctl handler and the verb "write MBR".
* *) Implement round-robin reads for multiplex volumes.le2005-07-152-25/+36
| | | | | | *) Plug a possible memory leak. [1] [1] obtained from: pjd@.
OpenPOWER on IntegriCloud