summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
* Allow to use the old -a option to specify an encryption algorithm to usepjd2006-06-061-13/+31
| | | | | (for backward compatibility), but print a warning to inform about the change.
* - Unbreak the build when geli is compiled into the kernel (on as module),pjd2006-06-061-2/+2
| | | | | | by silencing unfounded compiler warning. Reported by:
* Implement data integrity verification (data authentication) for geli(8).pjd2006-06-056-275/+1101
| | | | Supported by: Wheel Sp. z o.o. (http://www.wheel.pl)
* Make kern.geom.eli.overwrites sysctl a tunable as well.pjd2006-06-051-0/+1
|
* Add g_duplicate_bio() function which does the same thing what g_clone_bio()pjd2006-06-052-0/+26
| | | | is doing, but g_duplicate_bio() allocates new bio with M_WAITOK flag.
* Fix unaligned memory accesses on Alpha and possible other platforms.marcel2006-06-041-3/+4
| | | | | | | | | | | | | | | | | By using a pointer to struct dos_partition, we implicitly tell the compiler that the pointer is 4-bytes aligned, even though we know that's not the case. The fact that we only dereference the pointer to access a byte-wide field (field dp_ptyp) is not a guarantee that the compiler will in fact use a byte-wide load. On some platforms it's more efficient to use long word or quad word loads and use bit-shifting and bit-masking to get the intended byte. On those platforms an misaligned load will be the result. The fix is to use byte-wide pointer arithmetic based on sizeof() and offsetof() to avoid invalid casts which avoids that the compiler makes invalid assumptions. Backtrace provided by: wilko@ MFC after: 1 week
* Remove the trailing half of a sentence which was clearly supercededceri2006-05-241-2/+0
| | | | by the preceding one some time during editing.
* Use G_RAID3_FOREACH_SAFE_BIO() macro instead of G_RAID3_FOREACH_BIO() inpjd2006-05-041-6/+4
| | | | | | | | | two places where g_io_request() is called. g_io_request() can free bio structure so we can't reference it after and G_RAID3_FOREACH_BIO() macro was doing this. Found by: Coverity Prevent analysis tool (with my new models) MFC after: 1 day
* We shouldn't lock the topology here - we will panic on assertion insidepjd2006-04-301-2/+0
| | | | | | | g_raid3_bump_syncid(). Reported by: Bradley W. Dutton <brad-fbsd-stable@duttonbros.com> MFC after: 1 day
* - Don't hold the device sx lock when going to sleep.pjd2006-04-281-6/+23
| | | | | | | | - Prevent possible live-lock in case of memory problems by freeing already completed requests first. Reported and tested by: markus, Bradley W. Dutton <brad-fbsd-stable@duttonbros.com> MFC after: 1 day
* - Remove dead code.pjd2006-04-282-17/+18
| | | | | | | - Comment possible event miss, which isn't critical, but probably can be fixed by replacing the event lock usage with the queue lock. MFC after: 2 weeks
* Be sure to not destroy device twice. This is not possible in theory, butpjd2006-04-281-2/+13
| | | | | | with this change there is even no theoretical race. MFC after: 2 weeks
* Be sure to not destroy device twice. This is not possible in theory, butpjd2006-04-281-2/+13
| | | | | | with this change there is even no theoretical race. MFC after: 2 weeks
* geli(8) provides keys on newsession time, so remove CRD_F_KEY_EXPLICIT flagpjd2006-04-202-3/+2
| | | | as HW crypto drivers don't support it.
* Fix storing offset of already synchronized data. Offset in entire array waspjd2006-04-181-3/+5
| | | | | | | | | | | | | stored in metadata instead of an offset in single disk. After reboot/crash synchronization process started from a wrong offset skipping (not synchronizing) part of the component which can lead to data corrutpion (when synchronization process was interrupted on initial synchronization) or other strange situations like 'graid3 status' showing value more than 100%. Reported, reviewed and tested by: ru Reported by: Dmitry Morozovsky <marck@rinet.ru> MFC after: 1 day
* Correct debug: we are sending child bio here, not parent bio.pjd2006-04-151-2/+2
| | | | MFC after: 1 week
* Make CCD be able to read and write Linux software raids.cracauer2006-04-131-2/+24
| | | | | | | | | | Supported for raid-0 with <n> disks, raid-1 with 2 disks. Manpages have examples, warnings etc. Test scripts on http://www.cons.org/cracauer/ccdconfig-linux/ Reviewed by: alfred
* Pass BIO_GETATTR requests down.pjd2006-04-121-5/+14
| | | | MFC after: 1 week
* Introduce and use delayed-destruction functionality from a pre-sync hook,pjd2006-04-106-111/+174
| | | | | | | | | | which means that devices will be destroyed on last close. This fixes destruction order problems when, eg. RAID3 array is build on top of RAID1 arrays. Requested, reviewed and tested by: ru MFC after: 2 weeks
* MFp4:marcel2006-04-101-20/+169
| | | | | | | | | | | | o Implement the remove verb to remove a partition entry. o Improve error reporting by first checking that the verb is valid. o Add an entry parameter to the add verb. this parameter can be both read-only as welll as read-write and specifies the entry number of the newly added partition. o Make sure that the provider is alive when passed to us. It may be withering away. o When adding a new partition entry, test for overlaps with existing partitions.
* Add g_wither_provider() to abstract the details of destroying amarcel2006-04-104-3/+15
| | | | | | particular provider. Use this function where g_orphan_provider() is being called so that the flags are updated correctly and g_orphan_provider() is called only when allowed.
* Change gctl_set_param() to return an error instead of setting anmarcel2006-04-074-17/+34
| | | | | | | | | | | error on the request. Add a wrapper, gctl_set_param_err(), that sets the error on the request from the error returned by gctl_set_param() and update current callers of gctl_set_param() to call gctl_set_param_err() instead. This makes gctl_set_param() much more usable in situations where the caller knows better what to do with certain (apparent) error conditions and setting an error on the request is not one of the things that need to be done.
* Typos.pjd2006-04-051-1/+1
|
* Revert previous change, as I fixed MD5(9).pjd2006-03-301-6/+2
|
* md_hash field in g_eli_metadata structure is not 4 byte aligned, whichpjd2006-03-301-2/+6
| | | | | | | | | | | | | | | case panic on sparc64. The problem is in MD5(9) implementation. The Encode() function takes 'unsigned char *output' as its first argument, which is then assigned to 'u_int32_t *op'. If the 'output' argument is not 4 byte aligned (and in geli(8) case it is not), sparc64 machine will panic. I don't know how to fix MD5(9) in a clean way, so I'm implementing a work-around in geli(8). Reported by: brueffer MFC after: 3 days
* Protect from creating striped and RAID5 plexes with unequally sizedle2006-03-305-68/+112
| | | | subdisks.
* - 'ndisks' variable is not boolean, so compare it with a value.pjd2006-03-301-1/+1
| | | | | | - Keep conditions order consistent with the comment above. MFC after: 3 days
* Preserve previous behaviour of kern.geom.raid3.n{64,16,4}k tunables were 0pjd2006-03-281-1/+1
| | | | | | | means unlimited. Reported by: ru MFC after: 3 days
* Increase debug level for "Thread exiting." message. It's not that importantpjd2006-03-251-1/+1
| | | | | | and is 0 by accident. MFC after: 3 days
* Fix whitespace.le2006-03-231-1/+1
|
* Implement the 'resetconfig' command.le2006-03-233-0/+43
| | | | | PR: kern/94835 Submitted by: Ulf Lilleengen <lulf@stud.ntnu.no>
* Update copyright for 2006.pjd2006-03-195-5/+5
|
* kern.geom.raid3.sync_requests=2 seems to be a better default - it stillpjd2006-03-191-3/+3
| | | | | | keeps disks very busy, but makes system much more responsive. While here, kill extra space.
* kern.geom.mirror.sync_requests=2 seems to be a better default - it stillpjd2006-03-191-2/+2
| | | | | | keeps disks very busy, but makes system much more responsive. While here, kill extra space.
* Fix a typo.ru2006-03-131-1/+1
|
* Fix build on 64-bit platforms.ru2006-03-132-4/+4
|
* - Reimplement I/O data allocation to prevent deadlocks.pjd2006-03-133-352/+672
| | | | | | | | | | | | | | | | | | | Submitted by: green - Speed up synchronization process by using configurable number of I/O requests in parallel. + Add kern.geom.raid3.sync_requests tunable which defines how many parallel I/O requests should be used. + Retire kern.geom.raid3.reqs_per_sync and kern.geom.raid3.syncs_per_sec sysctls. - Fix race between regular and synchronization requests. - Reimplement raid3's data synchronization - do not use the topology lock for this purpose, as it may case deadlocks. - Stop synchronization from pre-sync hook. - Fix some other minor issues. Tested by: Mike Tancsa <mike@sentex.net> MFC after: 3 days
* - Speed up synchronization process by using configurable number of I/Opjd2006-03-133-274/+559
| | | | | | | | | | | | | | | requests in parallel. + Add kern.geom.mirror.sync_requests tunable which defines how many parallel I/O requests should be used. + Retire kern.geom.mirror.reqs_per_sync and kern.geom.mirror.syncs_per_sec sysctls. - Fix race between regular and synchronization requests. - Reimplement mirror's data synchronization - do not use the topology lock for this purpose, as it may case deadlocks. - Stop synchronization from pre-sync hook. - Fix some other minor issues. MFC after: 3 days
* When inserting a new component md_provsize metadata field wasn't set, whichpjd2006-03-102-0/+2
| | | | | | | | means that old problem was triggered (when two providers end at the same offset, eg. ad0 and ad0s1 and the wrong was is picked up by gmirror/graid3). Reported by: Michal Suszko <dry@dry.pl> MFC after: 3 days
* Allow to dump kernel to gmirror providers.pjd2006-03-081-0/+37
| | | | | | | Some conditions have to be met to make it work properly. This will be described in the manual page. MFC after: 3 days
* We need to check if file system size is equal to provider's size, becausepjd2006-03-041-2/+7
| | | | | | | | | | | | sysinstall(8) still bogusly puts first partition at offset 0 instead of 16, so glabel/ufs will find file system on slice instead of partition. Before sysinstall is fixed, we must keep this code, which means that we wont't be able to detect UFS file systems created with 'newfs -s ...'. PS. bsdlabel(8) creates partitions properly. MFC after: 3 days
* - Lock Giant if needed around the call to vnode_create_vobject(). This isjeff2006-03-021-0/+3
| | | | | | | only important if devfs is not mpsafe. Sponsored by: Isilon Systems, Inc. Found by: kris
* Assert proper use of bio_caller1, bio_caller2, bio_cflags, bio_driver1,pjd2006-03-011-0/+23
| | | | | | bio_driver2 and bio_pflags fields. Reviewed by: phk
* Do not use bio structure after g_io_deliver(), it may not longer by valid.pjd2006-02-221-1/+1
| | | | | Found and fixed by: Vsevolod Lobko <seva@ip.net.ua> MFC after: 3 days
* Inform when label disappears.pjd2006-02-181-16/+36
| | | | MFC after: 3 days
* Allow to use g_slice_orphan() from outside.pjd2006-02-182-2/+2
| | | | MFC after: 3 days
* - Do not depend on fact that file system covers entire provider.pjd2006-02-181-19/+13
| | | | | | | | It won't work for file systems created with -s option. Use better file system verfication. - Add myself to the copyright. MFC after: 3 days
* This function returns nothing.pjd2006-02-181-1/+1
|
* If provider's sector size prevents reading SBLOCKSIZE bytes returnpjd2006-02-181-8/+10
| | | | immediatelly.
* On component state change to ACTIVE don't forget to update metadata.pjd2006-02-122-6/+4
| | | | MFC after: 3 days
OpenPOWER on IntegriCloud