aboutsummaryrefslogtreecommitdiff
path: root/sbin/geom/class/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Normalize the g(eom,cache,part,...) build.Brooks Davis2018-06-251-24/+0
| | | | | | | | | | | | | | | | | | | | | | | Rather then combining hardlink creation for the geom(8) binary with shared library build, move libraries to src/lib/geom so they are built and installed normally. Create a common Makefile.classes which is included by both lib/geom/Makefile and sbin/geom/Makefile so the symlink and libraries stay in sync. The relocation of libraries allows libraries to be build for 32-bit compat. This also reduces the number of non-standard builds in the system. This commit is not sufficent to run a 32-bit /sbin/geom on a 64-bit system out of the box as it will look in the wrong place for libraries unless GEOM_LIBRARY_PATH is set appropriatly in the environment. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15360 Notes: svn path=/head/; revision=335645
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-061-1/+1
| | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* MFgraid/head:Alexander Motin2011-03-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new RAID GEOM class, that is going to replace ataraid(4) in supporting various BIOS-based software RAIDs. Unlike ataraid(4) this implementation does not depend on legacy ata(4) subsystem and can be used with any disk drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4) with `options ATA_CAM`). To make code more readable and extensible, this implementation follows modular design, including core part and two sets of modules, implementing support for different metadata formats and RAID levels. Support for such popular metadata formats is now implemented: Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage. Such RAID levels are now supported: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT. For any all of these RAID levels and metadata formats this class supports full cycle of volume operations: reading, writing, creation, deletion, disk removal and insertion, rebuilding, dirty shutdown detection and resynchronization, bad sector recovery, faulty disks tracking, hot-spare disks. For Intel and Promise formats there is support multiple volumes per disk set. Look graid(8) manual page for additional details. Co-authored by: imp Sponsored by: Cisco Systems, Inc. and iXsystems, Inc. Notes: svn path=/head/; revision=219974
* Bring in geom_sched, support for scheduling disk I/O requestsLuigi Rizzo2010-04-121-0/+1
| | | | | | | | | | | | | | | in a device independent manner. Also include an example anticipatory scheduler, gsched_rr, which gives very nice performance improvements in presence of competing random access patterns. This is joint work with Fabio Checconi, developed last year and presented at BSDCan 2009. You can find details in the README file or at http://info.iet.unipi.it/~luigi/geom_sched/ Notes: svn path=/head/; revision=206497
* Add gmountver, disk mount verification GEOM class.Edward Tomasz Napierala2010-01-161-0/+1
| | | | | | | | | | | Note that due to e.g. write throttling ('wdrain'), it can stall all the disk I/O instead of just the device it's configured for. Using it for removable media is therefore not a good idea. Reviewed by: pjd (earlier version) Notes: svn path=/head/; revision=202437
* Bring in the GEOM Virtualisation class, which allows to create huge GEOMPawel Jakub Dawidek2007-09-231-0/+1
| | | | | | | | | | | | providers with limited physical storage and add physical storage as needed. Submitted by: Ivan Voras Sponsored by: Google Summer of Code 2006 Approved by: re (kensmith) Notes: svn path=/head/; revision=172302
* Add gpart(8).Marcel Moolenaar2007-05-151-0/+1
| | | | | | | | | | In order to support gpart(8), geom(8) needs to support a named argument. Also, optional string parameters are a requirement. Both have been added to the infrastructure. The former required all existing classes to be adjusted. Notes: svn path=/head/; revision=169586
* First cut at GEOM based multipath. This is an active/passive{/passive...}Matt Jacob2007-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=167050
* Hook up gjournal bits to the build.Pawel Jakub Dawidek2006-10-311-0/+1
| | | | | | | Sponsored by: home.pl Notes: svn path=/head/; revision=163851
* A GEOM cache can speed up read performance by sending fixed sizeRuslan Ermilov2006-10-061-1/+2
| | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=163048
* Reimplementation of world/kernel build options. For details, see:Ruslan Ermilov2006-03-171-1/+3
| | | | | | | | | | | http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html The src.conf(5) manpage is to follow in a few days. Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine) Notes: svn path=/head/; revision=156813
* As with NO_CRYPT, don't try to compile geli(8) when NO_OPENSSL is definedMarius Strobl2005-08-271-1/+1
| | | | | | | | | either. MFC after: 1 week Notes: svn path=/head/; revision=149534
* Add missing check for the NO_CRYPT build option.Ruslan Ermilov2005-08-021-0/+2
| | | | | | | Reported by: Alexander Polakov Notes: svn path=/head/; revision=148649
* I think I found the problem, reconnect geli to the build.Pawel Jakub Dawidek2005-07-271-1/+1
| | | | Notes: svn path=/head/; revision=148464
* Disconnect geli from the build for now.Pawel Jakub Dawidek2005-07-271-1/+1
| | | | | | | | I need to find out first what is the cause of sha2.c compilation problem on alpha. Notes: svn path=/head/; revision=148462
* Connect GEOM_ELI class to the build.Pawel Jakub Dawidek2005-07-271-0/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=148457
* Connect SHSEC GEOM class to the build.Pawel Jakub Dawidek2005-01-111-0/+1
| | | | Notes: svn path=/head/; revision=140075
* Connect RAID3 GEOM class to the build.Pawel Jakub Dawidek2004-08-161-0/+1
| | | | Notes: svn path=/head/; revision=133812
* Connect GEOM_MIRROR class to the build.Pawel Jakub Dawidek2004-07-301-0/+1
| | | | Notes: svn path=/head/; revision=132905
* Introduce GEOM_LABEL class.Pawel Jakub Dawidek2004-07-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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! Notes: svn path=/head/; revision=131476
* Bring in geom(8) utility. It is an universal utility for operating onPawel Jakub Dawidek2004-05-201-0/+7
GEOM classes. It works by loading a shared library via dlopen(3) mechanism with class-specific code, it is also responsible for communicating with GEOM via libgeom(3). Per-class shared libraries are going to be stored in /lib/geom/ directory. It provides also few standard commands like 'list', 'load' and 'unload' for existing classes which aren't aware of geom(8). More info will be send on freebsd-current@ mailing list. Supported by: Wheel - Open Technologies - http://www.wheel.pl Notes: svn path=/head/; revision=129470