summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* MFp4: Add two options for gnop(8)'s 'create' command:pjd2004-07-192-16/+74
| | | | | -o offset - specifies where to start on the original provider -s size - specifies size of the transparent provider
* Fix copy&paste bug.pjd2004-07-181-1/+1
|
* Fix exclusive-bit leakage.pjd2004-07-181-1/+1
|
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Remove unused macro.pjd2004-07-131-9/+0
|
* Decrease log level of one debug message, so there is no hole (level 2pjd2004-07-131-1/+1
| | | | wasn't used at all).
* Minor sysctl description fixes.pjd2004-07-131-2/+2
| | | | Submitted by: simon
* Implement "FAST" mode for GEOM_STRIPE class and turn it on by default.pjd2004-07-091-80/+345
| | | | | | | | | | | | | | | In this mode you can setup even very small stripe size and you can be sure that only one I/O request will be send to every disks in stripe. It consumes some more memory, but if allocation fails, it will fall back to "ECONOMIC" mode. It is about 10 times faster for small stripe size than "ECONOMIC" mode and other RAID0 implementations. It is even recommended to use this mode and small stripe size, so our requests are always splitted. One can still use "ECONOMIC" mode by setting kern.geom.stripe.fast to 0. It is also possible to setup maximum memory which "FAST" mode can consume, by setting kern.geom.stripe.maxmem from /boot/loader.conf.
* Only detach consumers which are attached when we wither stuff away.phk2004-07-091-1/+2
| | | | Pointed out by: pjd
* Make withering water tight.phk2004-07-083-25/+77
| | | | | | | | | When we orphan/wither a provider, an attached geom+consumer could end up being withered as a result and it may be in front of us in the normal object scanning order so we need to do multi-pass. On the other hand, there may be withering stuff we can't get rid off (yet), so we need to keep track of both the existence of withering stuff and if there is more we can do at this time.
* Fail normally rather than KASSERT if attempt to open a spoiled consumer.phk2004-07-081-5/+3
|
* Add missing argument.pjd2004-07-061-1/+1
|
* Properly free resources if g_access() fails.pjd2004-07-061-1/+3
|
* - Add 'stop' command, which works just like 'destroy' command, but soundspjd2004-07-056-6/+9
| | | | | | less dangerous. - Update manual pages and extend examples. - Bump versions.
* g_clone_bio() can fail, be ready for this.pjd2004-07-051-2/+6
| | | | Approved by: le
* We only need to check for overlaps if we increasing access counts.phk2004-07-041-17/+19
|
* Introduce GEOM_LABEL class.pjd2004-07-025-0/+785
| | | | | | | | | | | | | | | | | | | | | | | This class is used for detecting volume labels on file systems: UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660. It also provide native labelization (there is no need for file system). g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow. g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found where volume labels are stored and I use those offsets here, but with this class it should be easy to do it as it should be done by someone who know how. Implementing volume labels detection for other file systems also should be trivial. New providers are created in those directories: /dev/ufs/ (UFS1, UFS2) /dev/msdosfs/ (FAT12, FAT16, FAT32) /dev/iso9660/ (ISO9660) /dev/label/ (native labels, configured with glabel(8)) Manual page cleanups and some comments inside were submitted by Simon L. Nielsen, who was, as always, very helpful. Thanks!
* Remove unused argument for good.pjd2004-07-011-2/+2
|
* Free only if pointer isn't NULL.pjd2004-07-011-1/+2
|
* Fix regression in last commit.phk2004-06-291-1/+1
|
* Make sure to kill the devstat entry for disappearing disks.phk2004-06-271-1/+3
| | | | | PR: 68074 Submitted by: Hendrik Scholz <hscholz@raisdorf.net>
* Introduce a hack that will make geom_gate to work with read-only mounts.pjd2004-06-271-0/+9
| | | | | | | | Now, when trying to mount file system in read-only mode it tries to opened a device for writting to be able to update to read-write mode latter. Ehh. Discussed with: phk
* The g_up and g_down threads use a local 'mymutex' mutex to allow WITNESSrwatson2004-06-261-0/+16
| | | | | | | | to warn about attempts to sleep in the I/O path. This change pushes the definition and use of 'mymutex' behind #ifdef WITNESS to avoid the cost in non-debugging cases. This results in a clear .22% performance win for 512 byte and 1k I/O tests on my SMP test box. Not much, but every bit counts.
* Mark a plex as 'newborn' when it is created. This is used to indicatele2004-06-252-1/+4
| | | | that new RAID5 plexes need to be initialized first.
* Don't force class to give a valid softc to g_slice_new(), it is not alwayspjd2004-06-241-2/+6
| | | | | | needed. Approved by: phk
* Currently, if the drives specified for volume creation arecsjp2004-06-241-2/+19
| | | | | | | | | | | | | | | | | not active GEOM providers, it will result in a kernel panic. If the GEOM provider or disk goes away before the volume configuration data gets written to the disk, it will result in another kernel panic. o Make sure that the drives specified for volume creation are active GEOM providers. o When writing out volume configuration data to associated drives, make sure that the GEOM provider is active, otherwise continue to the next drive in the volume. Approved by: le, bmilekic (mentor)
* Add a function to clean up RAID5 packets and use it when I/O hasle2004-06-233-12/+24
| | | | finished or when building the complete packet fails.
* Remove two debugging printfs that are currently rather disturbingle2004-06-231-2/+0
| | | | than helpful.
* Accept "sd len 0" and auto-size the subdisk correctly.le2004-06-231-4/+2
| | | | Spotted by: csjp
* No need to free the softc, because it wasn't allocated.le2004-06-221-1/+0
|
* Don't sleep in the g_down path. More error checks to come.le2004-06-221-9/+27
|
* Kill g_access_rel() already now before we send it down 5-stablephk2004-06-211-3/+0
|
* Don't hold topology lock while calling g_gate_release().pjd2004-06-211-0/+2
| | | | Found by: KASSERT()
* Duplicate the securelevel check from spec_vnops.c here.phk2004-06-191-0/+11
|
* Clean up allocated ressources when destroying the main vinum geom.le2004-06-184-21/+53
|
* Reduce the thaumaturgical level of root filesystem mounts: Instead of usingphk2004-06-171-43/+0
| | | | | | | an otherwise redundant clone routine in geom_disk.c, mount a temporary DEVFS and do a proper lookup. Submitted by: thomas
* Second half of the dev_t cleanup.phk2004-06-171-1/+1
| | | | | | | | | | | The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
* Handle dead disks in a somewhat sane way.le2004-06-164-3/+21
|
* Do the dreaded s/dev_t/struct cdev */phk2004-06-164-15/+16
| | | | Bump __FreeBSD_version accordingly.
* Fix several bugs related to subdisk drive_offset calculation.le2004-06-151-4/+5
|
* Don't free a VINUMDRIVE softc when it's orphaned or spoiled. Allle2004-06-141-1/+0
| | | | | | allocated ressouces should be ultimately freed in gv_destroy_geom() (when unloading the module and not earlier), but I need to look at this more closely.
* Correctly calculate subdisk offset in RAID5 plexes.le2004-06-141-2/+1
|
* Add a first version of a GEOMified vinum.le2004-06-1215-0/+5851
|
* Make the sysctl kern.geom.collectstats more granular.phk2004-06-091-8/+8
| | | | | | | | | Bit 0 controls statistics collection on GEOM providers. Bit 1 controls statistics collection on GEOM consumers. Default value is 1. Prodded by: scottl
* Fix format string.pjd2004-06-071-2/+2
|
* Don't allow for duplicated entries creation.pjd2004-06-071-5/+11
|
* Add SVR4-compatible VTOC-style elements to the Sun label. Thejoerg2004-06-011-1/+46
| | | | | FreeBSD kernel doesn't use them but sunlabel(8) shortly will, and both these files are used by sunlabel(8).
* Zap a redundant NULLphk2004-05-301-1/+1
|
* Dump some more informations:pjd2004-05-262-36/+57
| | | | | | | | | - device state - list of used providers - total number of disks - number of disks online Prodded by: Alex Deiter <tiamat@komi.mts.ru>
* - Change command name from 'config' to 'configure'.pjd2004-05-212-4/+4
| | | | - Bump version number.
OpenPOWER on IntegriCloud