summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* Crank the debug level necessary to display the "Label foo is removed"dougb2009-05-301-4/+4
| | | | and "Label for provider ..." messages up from 0 to 1.
* Place hostnames and similar information fully under the prison system.jamie2009-05-292-5/+2
| | | | | | | | | | | | | | | | | The system hostname is now stored in prison0, and the global variable "hostname" has been removed, as has the hostname_mtx mutex. Jails may have their own host information, or they may inherit it from the parent/system. The proper way to read the hostname is via getcredhostname(), which will copy either the hostname associated with the passed cred, or the system hostname if you pass NULL. The system hostname can still be accessed directly (and without locking) at prison0.pr_host, but that should be avoided where possible. The "similar information" referred to is domainname, hostid, and hostuuid, which have also become prison parameters and had their associated global variables removed. Approved by: bz (mentor)
* - Unbreak 64 bit platforms by casting off_t to intmax.lulf2009-05-261-3/+3
|
* - Fix wrong print on BIO_DONE.lulf2009-05-261-46/+46
| | | | | | | - Use db_printf instead of printf. While here, apply this to other ddb commands as well. Pointed out by: pjd
* - Add 'show bio' DDB command.lulf2009-05-261-0/+70
| | | | MFC after: 3 weeks
* Check return value of gctl_get_asciiparam().trasz2009-05-121-0/+4
| | | | | Found with: Coverity Prevent(tm) CID: 1118
* Remove the thread argument from the FSD (File-System Dependent) parts ofattilio2009-05-111-1/+1
| | | | | | | | | | | | | | | | | the VFS. Now all the VFS_* functions and relating parts don't want the context as long as it always refers to curthread. In some points, in particular when dealing with VOPs and functions living in the same namespace (eg. vflush) which still need to be converted, pass curthread explicitly in order to retain the old behaviour. Such loose ends will be fixed ASAP. While here fix a bug: now, UFS_EXTATTR can be compiled alone without the UFS_EXTATTR_AUTOSTART option. VFS KPI is heavilly changed by this commit so thirdy parts modules needs to be recompiled. Bump __FreeBSD_version in order to signal such situation.
* - Split up the BIO queue into a queue for new and one for completed requests.lulf2009-05-065-86/+98
| | | | | | | | | | | | | | | | | | | | This is necessary for two reasons: 1) In order to avoid collisions with the use of a BIOs flags set by a consumer or a provider 2) Because GV_BIO_DONE was used to mark a BIO as done, not enough flags was available, so the consumer flags of a BIO had to be misused in order to support enough flags. The new queue makes it possible to recycle the GV_BIO_DONE flag into GV_BIO_GROW. As a consequence, gvinum will now work with any other GEOM class under it or on top of it. - Use bio_pflags for storing internal flags on downgoing BIOs, as the requests appear to come from a consumer of a gvinum volume. Use bio_cflags only for cloned BIOs. - Move gv_post_bio to be used internally for maintenance requests. - Remove some cases where flags where set without need. PR: kern/133604
* - Fix a case where a RAID5 volume would think that it is supposed to grow a newlulf2009-05-061-2/+1
| | | | subdisk after a parity rebuild.
* - Check if any plexes are doing internal maintenance before removing them.lulf2009-05-061-0/+7
|
* - Add forgotten KASSERT.lulf2009-05-061-0/+1
|
* - Fix a bug where the bio_data field of the wrong BIO is freed if an errorlulf2009-05-061-1/+1
| | | | occurs when doing a RAID5 request.
* - GV_BIO_RETRY is not used, and it is actually impossible with more than 8lulf2009-05-061-1/+0
| | | | values for bio_cflags/bio_pflags.
* - Split the queue mutex into one for the event queue and one for the BIO queue,lulf2009-05-065-39/+60
| | | | | | | as they do not really relate and to prepare for an additional queue to be covered by the BIO queue mutex. - Implement wrappers for fetching the next element from the event queue as well as for putting a new element into the BIO queue.
* - Make the gvinum softc invisible to userland, as it is not needed.lulf2009-05-041-5/+1
|
* - Remove assertion of topology lock remaining from 7.x gvinum. It is not needed,lulf2009-04-182-4/+2
| | | | | | as the renaming only changes internal gvinum names and will not alter the geom topology. - The topology lock was not held when calling g_wither_geom after renaming.
* Precision '*' expects an int and strlen() returns a size_t.marcel2009-04-161-1/+1
| | | | Compensate.
* Add a compat option to the EBR scheme that controls themarcel2009-04-153-44/+65
| | | | | | | | | | | | naming of the partitions (GEOM_PART_EBR_COMPAT). When compatibility is enabled, changes to the partitioning are disallowed. Remove the device name aliasing added previously to provide backward compatibility, but which in practice doesn't give us anything. Enable compatibility on amd64 and i386.
* - Move out allocation part of different gvinum objects into its own routine andlulf2009-04-102-28/+76
| | | | make use of it in the gvinum userland code.
* Revert r190676,190677thompsa2009-04-108-15/+4
| | | | | | | The geom and CAM changes for root_hold are the wrong solution for USB design quirks. Requested by: scottl
* Don't use hexadecimal in the EBR partition names, because 'a'..'f'marcel2009-04-081-1/+1
| | | | | | are more commonly known as BSD partition names. Discussed with: ivoras@
* Add interleaving root hold tokens from the CAM probe to disk_create and geomthompsa2009-04-034-0/+11
| | | | | | | provider tasting. This is needed for disk attachments that happen after threads are running in the boot process. Tested by: rnoland
* Add a how argument to root_mount_hold() so it can be passed NOWAIT and be calledthompsa2009-04-034-4/+4
| | | | in situations where sleeping isnt allowed.
* The 9 bytes immediately prior to the partition table can containmarcel2009-04-031-2/+7
| | | | | | | signatures or disk serial numbers. Don't assume those to be zero in all cases. This fixes a false negative. Tested by: avatar@mmlab.cse.yzu.edu.tw
* Sharpen the saw:marcel2009-03-301-3/+2
| | | | | | o PC98 uses 32-bit block numbers. Limit the scheme to 2^32-1 blocks when the media is larger. The 32-bit block numbers are implicit (16-bit cylinder * 8-bit head * 8-bit sector).
* Sharpen the saw:marcel2009-03-301-2/+2
| | | | | o MBR uses 32-bit block numbers. Limit the scheme to 2^32-1 blocks when the media is larger.
* Sharpen the saw:marcel2009-03-301-4/+5
| | | | | | | o EBR uses 32-bit block numbers. Limit the scheme to 2^32-1 blocks when the media is larger. o Calculate the number of entries based on the rounded media size, rather than the raw media size.
* Sharpen the saw:marcel2009-03-301-0/+4
| | | | | o Don't create a GPT scheme underneath another scheme when the probe doesn't allow it.
* - Add files that should have been added in r190507.lulf2009-03-282-0/+831
|
* Import the gvinum work that have been done during and after Summer of Code 2007.lulf2009-03-2817-3371/+3402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The work have been under testing and fixing since then, and it is mature enough to be put into HEAD for further testing. A lot have changed in this time, and here are the most important: - Gvinum now uses one single workerthread instead of one thread for each volume and each plex. The reason for this is that the previous scheme was very complex, and was the cause of many of the bugs discovered in gvinum. Instead, gvinum now uses one worker thread with an event queue, quite similar to what used in gmirror. - The rebuild/grow/initialize/parity check routines no longer runs in separate threads, but are run as regular I/O requests with special flags. This made it easier to support mounted growing and parity rebuild. - Support for growing striped and raid5-plexes, meaning that one can extend the volumes for these plex types in addition to the concat type. Also works while the volume is mounted. - Implementation of many of the missing commands from the old vinum: attach/detach, start (was partially implemented), stop (was partially implemented), concat, mirror, stripe, raid5 (shortcuts for creating volumes with one plex of these organizations). - The parity check and rebuild no longer goes between userland/kernel, meaning that the gvinum command will not stay and wait forever for the rebuild to finish. You can instead watch the status with the list command. - Many problems with gvinum have been reported since 5.x, and some has been hard to fix due to the complicated architecture. Hopefully, it should be more stable and better handle edge cases that previously made gvinum crash. - Failed drives no longer disappears entirely, but now leave behind a dummy drive that makes sure the original state is not forgotten in case the system is rebooted between drive failures/swaps. - Update manpage to reflect new commands and extend it with some examples. Sponsored by: Google Summer of Code 2007 Mentored by: le Tested by: Rick C. Petty <rick-freebsd2008 -at- kiwi-computer.com>
* Sharpen the saw:marcel2009-03-271-3/+2
| | | | | o BSD uses 32-bit block numbers. Limit the scheme to 2^32-1 blocks when the media is larger.
* Sharpen the saw:marcel2009-03-271-2/+10
| | | | | | | o Don't create an APM scheme underneath another scheme when the probe doesn't allow it. o APM uses 32-bit block numbers. Limit the scheme to 2^32-1 blocks when the media is larger.
* Change the priority from high to normal. This makes sure thatmarcel2009-03-261-1/+1
| | | | the BSD or GPT schemes can take precedence as appropriate.
* Create GEOM labels from UFS IDs, e.g. /dev/ufsid/49c97b1faa2adc43. UFS IDsivoras2009-03-253-12/+50
| | | | | | | | are always present and can be used to identify file systems (useful if hardware devices move often). Actually-by: pjd Approved by: gnn (mentor)
* Be more explicit and complain if kernel dumps are perfomed on unsupportedivoras2009-03-221-1/+4
| | | | | | | partition types. This is to help users used to the old behaviour. Reviewed by: marcel Approved by: gnn (mentor)
* Make GEOM provider names starting with "/dev/" acceptable as well as theirivoras2009-03-192-5/+17
| | | | | | | | | | | | | | | | | | "raw" names. While there, change the formatting of extended MSDOS partitions so that the dot (".") is not used to separate two numbers (which kind of looks like the whole is a decimal number). Use "+" instead, which also hints that the second part of the name is the offset from the start of the partition in the first part of the name. Also change the offset from decimal to hexadecimal notation, simply for aesthetic reasons and future compatibility. GEOM_PART is the default in 8-CURRENT but not yet in 7-STABLE so this changeset can be MFC-ed without causing major problems from the second part. Reviewed by: marcel Approved by: gnn (mentor) MFC after: 2 weeks
* Detach GELI providers on shutdown/reboot, which will allow providers underneathpjd2009-03-161-1/+55
| | | | | | | to close properly. Reported, reviewed and tested by: guido MFC after: 1 week
* Backout this commit whil a better solution is developedguido2009-03-131-1/+0
|
* Move the PC98_[MS]ID_* defines from g_part_pc98.c to diskpc98.h.nyan2009-03-111-8/+0
| | | | Reviewed by: marcel
* o disallow write to RedBoot and FIS directory partitions; these are painfulsam2009-03-111-2/+23
| | | | | | to resurrect (maybe honor foot shooting bit in kern.geom_debugflags) o fix match macro so we now recognize we want to merge FIS dir with RedBoot config parameters even if we don't actually do it
* When attaching a geli on boot make sure that it is detachedguido2009-03-101-0/+1
| | | | | upon last close. (needed for a gmirror to properly shutdown upon reboot when a geli is on top the gmirror)
* Restore the return statement. It was accidentally removed by rev 188429.nyan2009-03-101-0/+1
|
* add geom_redboot, a geom module that exports RedBoot FIS partitions as namedsam2009-03-091-0/+321
| | | | slices in dev/redboot/*
* o When creating the EBR scheme, set the number of entriesmarcel2009-02-211-0/+2
| | | | | | | | | | | | properly. Otherwise the minimum of 1 is used and you can only insert a single partition/slice and only at sector 0 (index 1). o When adding a partition/slice, recalculate the index after the start and size of the partition/slice are adjusted to make them a multiple of the track size. Since the precheck method sets the index based on the start of the partition as provided by the user, we know that we're off by at most 1 and adjusting the index is safe.
* Add bootcode handling.marcel2009-02-211-13/+46
|
* Provide compatibility symlink for logical partitions:marcel2009-02-204-1/+81
| | | | | | | | | | 1. Extend geom_dev by having it create the symlink (i.e. call make_dev_alias) based on the DIOCGPROVIDERALIAS ioctl. In this way the functionaility is generic and thus usable by any geom/provider. 2. Have g_part handle said ioctl through the devalias method, so that it's under control of the scheme itself. By design the alias will not be created for newly added partitions.
* Fix an infinite loop created when the last logical partition ismarcel2009-02-201-3/+3
| | | | removed.
* Add a default implementation for pre-check. It shouldmarcel2009-02-171-2/+12
| | | | | | always succeed if not implemented. Pointy hat: marcel
* Remove gpt_offset and related code. It was introduced for usemarcel2009-02-172-26/+0
| | | | | by the BSD scheme, ended up not to be needed. Remove to avoid abuse and to keep the bloat to a minimum.
* Add support to add, delete and modify logical partitions, as wellmarcel2009-02-161-6/+251
| | | | | as to create and destroy the extended partitioning scheme. In other words: full support.
OpenPOWER on IntegriCloud