Lukas Ertl
8cc5eb98ad
Fix a stupid logic bug introduced in geom_vinum_drive.c rev 1.18:
...
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.
2005-08-15 17:07:47 +00:00
Pawel Jakub Dawidek
bb30fea667
Because code paths for I/O requests are quite complex, add comments above
...
the functions which participate in I/O paths.
MFC after: 1 day
2005-08-13 17:45:37 +00:00
Pawel Jakub Dawidek
ac445fbab5
Provide more complete "How to add a new file system to glabel." list.
...
MFC after: 1 week
2005-08-12 00:34:45 +00:00
Pawel Jakub Dawidek
9417a618d1
Add code for Ext2FS and ReiserFS labels recognition.
...
Submitted by: Stanislav Sedov <stas@310.ru>
PR: kern/84638
MFC after: 1 week
2005-08-12 00:27:45 +00:00
Pawel Jakub Dawidek
055c32a1bc
Avoid creating directories in devfs by changing all '/' in labels to '_'.
...
Idea from: Stanislav Sedov <stas@310.ru>
MFC after: 3 days
2005-08-12 00:05:09 +00:00
Pawel Jakub Dawidek
6985decf3c
GELI doesn't need cryptodev.
...
MFC after: 3 days
2005-08-11 14:52:27 +00:00
Pawel Jakub Dawidek
6eb1d21f14
Be case-insensitive when dealing with algorithm names.
...
PR: kern/84659
Submitted by: Benjamin Lutz <benlutz@datacomm.ch>
2005-08-08 19:40:38 +00:00
Pawel Jakub Dawidek
ea35a2ec3a
MFp4: Export more informations about encrypted providers.
...
MFC after: 1 week
2005-07-27 22:31:57 +00:00
Pawel Jakub Dawidek
7625429883
Reduce default debug level to 0.
...
MFC after: 1 week
2005-07-27 21:48:47 +00:00
Pawel Jakub Dawidek
c58794debd
Add GEOM_ELI class which provides GEOM providers encryption.
...
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
2005-07-27 21:43:37 +00:00
Pawel Jakub Dawidek
4ed854e8d4
Use root_mount KPI for RAID3 to delay root file system mount.
...
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.
2005-07-27 09:03:51 +00:00
Poul-Henning Kamp
8827c821de
By design I left a tiny race in updating the I/O statistics based on
...
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
2005-07-25 21:12:54 +00:00
Pawel Jakub Dawidek
565bc10111
Add a very simple and small GEOM class - ZERO.
...
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
2005-07-25 10:03:16 +00:00
Poul-Henning Kamp
0322f8dc8d
Comment typo
2005-07-20 18:08:16 +00:00
Pawel Jakub Dawidek
0499edf459
Before calling g_orphan_provider(), add G_PF_WITHER flag, so GEOM will know
...
to destroy it.
PR: kern/81758
Submitted by: trasz <trasz@buziaczek.pl>
MFC after: 3 days
2005-07-17 13:15:02 +00:00
Yoshihiro Takahashi
0bf2708b8c
Merged from geom_mbr.c revisions 1.62 and 1.66.
...
- Implement a gctl handler and the verb "write MBR".
2005-07-15 15:29:45 +00:00
Lukas Ertl
7ad68986b8
*) Implement round-robin reads for multiplex volumes.
...
*) Plug a possible memory leak. [1]
[1] obtained from: pjd@.
2005-07-15 13:38:06 +00:00
Poul-Henning Kamp
1c3cf26412
Implement a gctl handler and the verb "write MBR" which can be used to
...
update metadata and bootcode while the MBR is in use.
MFC candidate
2005-07-15 08:00:44 +00:00
Pawel Jakub Dawidek
84436f14c4
Add CANCEL command which allows to remove one request from the queue or
...
all requests from the queue if request number is not given.
Bump version number.
Approved by: re (scottl)
2005-07-08 21:08:53 +00:00
Pawel Jakub Dawidek
59ddf345d5
After provider creation!!
2005-05-25 15:54:17 +00:00
Pawel Jakub Dawidek
0f2bbe5ba4
- Call root_mount_rel() when provider IS created, not earlier.
...
This should close the race observed by Daniel Eriksson.
- Remove redundant wakeup().
2005-05-25 13:10:04 +00:00
Pawel Jakub Dawidek
4eafb037f6
Add some debug code to diagnose root-on-mirror problems with recent -current.
...
Reported by: Daniel Eriksson
2005-05-23 13:05:07 +00:00
Pawel Jakub Dawidek
d246aa55e7
Correct typo.
2005-05-18 21:53:08 +00:00
Lukas Ertl
0164489c96
When a drive dies, don't call g_wither_geom() directly, but instead
...
post an event to the geom event queue that will take care of it,
letting outstanding bios finish, and closing the consumers.
Plus some cosmetic clean ups.
2005-05-17 16:38:30 +00:00
Pawel Jakub Dawidek
3ac6c13bd4
cp can't be NULL.
...
Noticed by: Coverity Prevent analysis tool
2005-05-11 19:36:56 +00:00
Pawel Jakub Dawidek
b957751627
gp can't be NULL.
...
Noticed by: Coverity Prevent analysis tool
2005-05-11 19:35:43 +00:00
Pawel Jakub Dawidek
862f5624ea
Add KASSERT() to be sure there is an active component.
...
Suggested by: Coverity Prevent analysis tool
2005-05-11 18:13:51 +00:00
Pawel Jakub Dawidek
0a3384a8f8
Check return value.
...
Found by: Coverity Prevent analysis tool
2005-05-11 18:07:39 +00:00
Yoshihiro Takahashi
16da54931e
Fix signed vs unsigned warning.
2005-05-01 09:44:50 +00:00
Lukas Ertl
bc2d4d6784
Only allow RAID5 plexes to be parity checked.
...
PR: kern/80427
Submitty by: Stijn Hoop <stijn@win.tue.nl>
2005-04-28 13:09:00 +00:00
Pawel Jakub Dawidek
3865ca2e13
Fix provider's size check for 'insert' command.
...
Before this fix one was able to insert one sector too small provider.
MFC after: 3 days
2005-04-25 10:41:26 +00:00
Garrett Wollman
d5e3d722df
The size of a filesystem may be less than the size of the provider it
...
resides on. Fix the special case of the filesystem fragment size not
evenly dividing the size of the provider. Fixing the general case
probably requires better superblock validation (left as an exercise to
the reader).
2005-04-19 21:55:28 +00:00
Pawel Jakub Dawidek
7979b3683c
Remove the hack which allowed to use gmirror for root file system,
...
use root_mount KPI instead.
2005-04-19 21:47:25 +00:00
Poul-Henning Kamp
d1c712ede2
Call g_waitidle() instead of GEOM using the root_mount_hold() KPI.
...
GEOM could (and will) get events as a result of drivers coming in
late so a one-shot method is not good enough for GEOM.
2005-04-19 06:23:59 +00:00
Poul-Henning Kamp
73fbaa74e5
Add a named reference-count KPI to hold off mounting of the root filesystem.
...
While we wait for holds to be released, print a list of who holds us
back once per second.
Use the new KPI from GEOM instead of vfs_mount.c calling g_waitidle().
Use the new KPI also from ata.
With ATAmkIII's newbusification, ata could narrowly miss the window
and ad0 would not exist when we tried to mount root.
2005-04-18 21:21:26 +00:00
Pawel Jakub Dawidek
811787079b
Protect against recursive labels creation in simlar way as it is done
...
in BSD and MBR classes, ie. if provider below us uses the same metadata,
don't create labels based on the metadata.
This allows to create labels on geoms with rank != 1 without hacks.
Tested by: Chris Elsworth <chris@shagged.org> on sparc64
OK'ed by: phk
MFC after: 2 weeks
2005-04-12 08:14:15 +00:00
Pawel Jakub Dawidek
cdae843174
Fix a long-standing bug. Error string has to be copyied from the user
...
process context.
Approved by: phk
MFC after: 3 days
2005-04-08 09:28:08 +00:00
Pawel Jakub Dawidek
7e0b3120e7
- Add a missing g_io_deliver() in case of allocation failure - we didn't
...
completed I/O requests here.
- First allocate all needed bios, so if any of allocations fail, we can
free memory before sending any I/O requests down.
Reported by: Pawel Malachowski
MFC after: 3 days
2005-04-03 14:55:49 +00:00
Yoshihiro Takahashi
612f970e46
Remove geometry translations here.
2005-03-30 12:59:54 +00:00
Joerg Wunsch
3328bbeef2
Support VTOC volume names. This can be useful to distinguish multiple
...
disks in a system. Solaris' format(1m) displays the volume names in
the disk overview.
MFC after: 1 month
2005-03-30 09:33:10 +00:00
Poul-Henning Kamp
9bb329f4e5
fix a "modify after free" bug which is practically impossible to
...
experience.
Found by: Coverity (id #540 #541 )
2005-03-26 21:07:35 +00:00
Pawel Jakub Dawidek
34cb151796
If an error occurs, clean up before returning from g_raid3_connect_disk().
2005-03-26 17:24:19 +00:00
Pawel Jakub Dawidek
c2ca10933d
Make the code more obvious - when an error occurs in g_mirror_connect_disk(),
...
detach and destroy consumer before returning.
2005-03-26 17:23:01 +00:00
Pawel Jakub Dawidek
cc6aa917b9
Check for return values.
...
Submitted by: sam
Found by: Coverity Prevent analysis tool
2005-03-26 16:51:19 +00:00
Poul-Henning Kamp
cb7ff8b71d
g_read_data() can return NULL, check for it.
...
Found by: Coverity (ID#258)
2005-03-18 07:03:56 +00:00
Poul-Henning Kamp
b3fd9b46bb
After rejecting the bio request early, return instead of panicing.
...
Found by: Coverity (ID#450)
2005-03-18 07:01:31 +00:00
Poul-Henning Kamp
b3b21113a5
Avoid null pointer dereference.
2005-03-18 06:57:58 +00:00
Pawel Jakub Dawidek
42cfb5bada
Plug memory leak.
...
Submitted by: Ted Unangst
Found by: Coverity Prevent analysis tool
Approved by: phk
MFC after: 3 days
2005-03-16 20:48:13 +00:00
Poul-Henning Kamp
20b3501394
forward declare struct disk.
2005-03-15 10:47:38 +00:00
Poul-Henning Kamp
03c02e5cb1
Do not attach MBR on top of an MBR. This removes some confusing
...
slice names on disks with extended partitions.
Spotted on: Mother-in-laws computer.
2005-03-14 15:22:18 +00:00