139 Commits

Author SHA1 Message Date
pjd
0633ad44e0 Sync with HEAD.
Approved by:	re (scottl)
2006-04-05 22:20:44 +00:00
pjd
a56f321071 MFC: graid3(8)
Synchronize graid3(8) with HEAD:
- Speed up synchronization process by using configurable number of parallel
  I/O requests.
- Reimplement graid3 softc synchronization by using per-device sx(9) lock.
- Stop synchronization from pre-sync hook.
- Fix possible race between synchronization and regular requests.

Approved by:	re (mux)
2006-03-20 15:50:02 +00:00
pjd
c2dead3970 MFC: gmirror(8)
Synchronize gmirror(8) with HEAD:
- Speed up synchronization process by using configurable number of parallel
  I/O requests.
- Allow for kernel dumps to the mirror.
- Reimplement gmirror softc synchronization by using per-device sx(9) lock.
- Stop synchronization from pre-sync hook.
- Fix possible race between synchronization and regular requests.

Approved by:	re (mux)
2006-03-20 15:48:55 +00:00
pjd
0536624c24 MFC: Sync with HEAD.
Approved by:	re (scottl)
2006-03-01 17:55:29 +00:00
pjd
cefc091c9d MFC: sbin/geom/class/eli/geom_eli.c 1.6
Remove unused argument.
2006-01-31 21:24:36 +00:00
pjd
894edd33c9 MFC: sbin/geom/core/geom.8 1.18
Add a reference to geli(8).
2006-01-31 12:39:26 +00:00
joel
2d6cdc2b7e MFC: s/5.5/6.0/ in HISTORY section. 2006-01-24 17:02:39 +00:00
pjd
c4be8154d5 MFC: Sync with HEAD. 2006-01-17 09:28:57 +00:00
pjd
b11d89f3f9 MFC: Sync with HEAD. 2006-01-17 09:11:30 +00:00
sobomax
a70814d83f MFC: mention NTFS support.
Reminded by:	pjd
2005-12-29 17:21:46 +00:00
pjd
2602cc468e MFC: sbin/geom/class/mirror/gmirror.8 1.17
Add a note in example as well, that last sector is used for metadata,
so it don't provoke confusions.

Noticed by:	Victor Sudakov <sudakov@sibptus.tomsk.ru>
Approved by:	re (scottl)
2005-10-06 18:19:13 +00:00
pjd
1bd06e2421 MFC: sbin/geom/class/eli/geom_eli.c 1.4
Even if there are no valid keys in metadata, but provider is attached
we can still use setkey subcommand.

Found by:	regression tests
Approved by:	re (scottl)
2005-09-15 14:12:54 +00:00
marius
965ad6c04f MFC: 1.10
As with NO_CRYPT, don't try to compile geli(8) when NO_OPENSSL is defined
either.

Approved by:	re (scottl)
2005-09-14 21:21:45 +00:00
pjd
38a6d09956 MFC: sys/geom/eli/g_eli.c 1.6-11
sys/geom/eli/g_eli.h	1.3-4
	sys/geom/eli/g_eli_ctl.c	1.2
	sbin/geom/class/eli/geli.8	1.4-6
	sbin/geom/class/eli/geom_eli.c	1.3

Sync with HEAD:
- We don't need to clear allocated memory. This will speed-up things a bit.
- Even if crypto_dispatch() return an error, request is not canceled and
  our callback will still be called, just to tell us that requested
  failed...
- Always run dedicated kernel thread (even when we have hardware support).
  There is no performance impact, but allows to allocate memory with
  M_WAITOK flag.
  As a side effect this simplify code a bit.
- Allow to change number of iterations for PKCS#5v2. It can only be used
  when there is only one key set.
- Add a __packed keyword to g_eli_metadata struct definition, so
  sizeof(struct g_eli_metadata) will return the exact number of bytes needed
  for storing it on the disk.
  Without this change GELI was unusable on amd64 (and probably other 64-bit
  archs), because sizeof(struct g_eli_metadata) was greater than 512 bytes
  and geli(8) was failing on assertion.

Approved by:	re (scottl)
2005-08-30 15:27:30 +00:00
pjd
aa0b63102c MFC: sbin/class/raid3/geom_raid3.c 1.13
sbin/misc/subr.c	1.4
	sbin/misc/subr.h	1.4

Move function for calculating number of bits into more central place.

Approved by:	re (scottl)
2005-08-30 15:09:06 +00:00
pjd
b432c993ef MFC: sbin/geom/class/eli/geom_eli.c 1.2
When keys were configured without passphrase, number of iterations in
metadata is equal to -1. if we then wanted to attach provider (or change
keys) and forget about '-p' flag it failed on assertion (quite ok, without
assertion it could call PKCS#5v2 with 4294967295 iterations).

Instead of failing on assertion, remind about '-p' flag.

Approved by:	re (kensmith)
2005-08-16 09:02:22 +00:00
pjd
80716b8623 MFC: sbin/geom/class/eli/geli.8 1.3
sys/geom/eli/g_eli.c		1.4,1.5

- GELI doesn't need cryptodev.
- Because code paths for I/O requests are quite complex, add comments above
  the functions which participate in I/O paths.

Approved by:	re (kensmith)
2005-08-16 08:58:33 +00:00
pjd
c385fd9b5d MFC: sbin/geom/core/geom.c 1.23
Unfortunately dlerror(3) returns string, so there is no clean way to
ignore "no such file" errors only, which I wanted to do.
Because of this I ignored all other errors on dlopen(3) failure as well,
which isn't good.
Fix this situation by calling access(2) on library file first and ignore
only ENOENT error. This allows to report all the rest of dlopen(3) errors.

Approved by:	re (kensmith)
2005-08-16 08:45:11 +00:00
pjd
ea84465e92 MFC:
- Add code for Ext2FS and ReiserFS labels recognition.
- Avoid creating directories in devfs by changing all '/' in labels to '_'.

Submitted by:	Stanislav Sedov <stas@310.ru>
PR:		kern/84638
Approved by:	re (kensmith)
2005-08-16 08:20:48 +00:00
pjd
57239477c4 MFC: sbin/geom/class/Makefile 1.9
Don't try to compile geli(8) when NO_CRYPT knob if defined.

Reported by:		Alexander Polakov
Committed to HEAD by:	ru
Approved by:		re (kensmith (implicit))
2005-08-05 20:24:37 +00:00
pjd
ce534181e2 MFC: Connect GEOM_ELI class to the build.
Sponsored by:	Wheel Sp. z o.o.
		http://www.wheel.pl
Approved by:	re (kensmith)
2005-08-05 20:02:46 +00:00
cvs2svn
1947b07479 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-08-01 17:50:20 +00:00
cvs2svn
ec43e58941 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-29 10:06:58 +00:00
pjd
c3cd72bdc6 MFC: geom_raid3.c 1.12
Don't forget to initialize 'id' field.

Approved by:	re (kensmith)
2005-07-18 16:14:21 +00:00
pjd
85babab07f Remove trailing spaces. 2005-04-29 07:57:50 +00:00
pjd
5745532ed1 Fix stripe size in example.
Found by:	kris
MFC after:	3 days
2005-04-26 09:23:21 +00:00
pjd
c7eadd3426 Remove duplicated description of 'clear' subcommand.
Pointed out by:	marck
X-MFC-after:	few seconds
2005-04-23 12:17:21 +00:00
pjd
1dcaba98da Document 'clear' and 'dump' subcommands.
MFC after:	1 week
2005-04-15 23:51:20 +00:00
pjd
ebb3a9b55b Allow classes to specify local source files.
MFC after:	3 weeks
2005-04-07 15:57:38 +00:00
pjd
3035fc244c Empty error buffer is not an error.
MFC after:	3 weeks
2005-04-07 06:46:11 +00:00
pjd
26774156e7 Fix use of uninitialized buf[0].
Reported by:	stefanf
MFC after:	3 days
2005-03-22 22:05:44 +00:00
pjd
2762d2e8a6 Be sure that class name storaed in 'class_name' is lower case.
MFC after:	1 week
2005-03-14 15:00:51 +00:00
pjd
4c29f3b1e1 Define subcommands' usage inside g_command structure.
MFC after:	1 week
2005-03-14 14:25:47 +00:00
pjd
70e7ef2f36 - Add gc_usage field to g_command structure. This will allow to define
usage for a subcommand, so no 'usage' function has to be implemented
  in class library.
- Bump version number as it breaks ABI, but don't provide backward
  compatibility, because there are probably no external consumers of this
  geom(8).
This allows to print more precise usage for standard commands and simplify
class libraries a bit.

MFC after:	1 week
2005-03-14 14:24:46 +00:00
pjd
8ef3f502d0 Instead of documenting every standard subcommand's argument everywhere,
just leave reference to geom(8).

MFC after:	1 week
2005-03-14 13:14:04 +00:00
pjd
b1046d1ec5 Document subcommands' arguments.
MFC after:	1 week
2005-03-14 13:06:09 +00:00
pjd
1d8fbec83f Document '-s' option of 'status' subcommand.
MFC after:	1 week
2005-03-14 12:37:55 +00:00
pjd
664873178e Add '-s' option to 'status' subcommand. It produces script-friendly output:
# gmirror status
       Name    Status  Components
mirror/root  COMPLETE  ad0s1a
                       ad2s1a
mirror/data  DEGRADED  da0
                       da1 (76%)
                       da2
# gmirror status -s
       Name    Status  Components
mirror/root  COMPLETE  ad0s1a
mirror/root  COMPLETE  ad2s1a
mirror/data  DEGRADED  da0
mirror/data  DEGRADED  da1 (76%)
mirror/data  DEGRADED  da2

MFC after:	1 week
2005-03-14 12:33:19 +00:00
pjd
74672647f0 Use int instead of size_t (%*s needs int).
MFC after:	1 week
2005-03-14 08:34:02 +00:00
delphij
ebc7aa2a14 printf(3) expects that %*s having an int parameter, which generates
warning on 64-bit platforms.  Explicitly cast these values to int
to work around this issue, as these values are tend to be small.

Spotted by:	ia64 tinderbox
2005-03-14 04:33:13 +00:00
pjd
e421eec8b6 - Document 'status' subcommand.
- Update copyrights.

MFC after:	1 week
2005-03-13 19:38:12 +00:00
pjd
9aad0c73fc Add 'status' command which prints general information about devices.
For example:

# gmirror status
       Name    Status  Components
mirror/root  COMPLETE  ad0s1a
                       ad2s1a
mirror/data  DEGRADED  da0
                       da1 (76%)
                       da2

MFC after:	1 week
2005-03-13 19:34:27 +00:00
pjd
bc988d83e6 Update copyrights. 2005-03-13 19:11:57 +00:00
pjd
72c79585cf Change function names related to 'list' command from 'show_one_*' to
'list_one_*'.

MFC after:	1 week
2005-03-13 19:10:13 +00:00
pjd
17fc089e24 When listing all devices (geoms) from the given class, skip geoms without
providers.
This prevents from listing geoms like <name>.sync which can be confusing.
It still allows to show details about it by giving its name when listing.

MFC after:	1 week
2005-03-13 16:45:41 +00:00
brueffer
18848be824 Typos and grammar fixes, wordsmithing 2005-02-28 01:33:10 +00:00
pjd
668a028670 - Add md_provsize field to metadata, which will help with
shared-last-sector problem.
  After this change, even if there is more than one provider with the same
  last sector, the proper one will be chosen based on its size.
  It still doesn't fix the 'c' partition problem (when da0s1 can be confused
  with da0s1c) and situation when 'a' partition starts at offset 0
  (then da0s1a can be confused with da0s1 and da0s1c). One can use '-h'
  option there, when creating device or avoid sharing last sector.
  Actually, when providers share the same last sector and their size is equal,
  they provide exactly the same data, so the name (da0s1, da0s1a, da0s1c)
  isn't important at all.
- Provide backward compatibility.
- Update copyright's year.

MFC after:	1 week
2005-02-27 23:07:47 +00:00
pjd
45fc09dc07 - Add GEOM_LIBRARY_PATH environment variable which allows to specify an
alternative to /lib/geom/ path where shared libraries are stored.
- Improve debugging.

MFC after:	3 days
2005-02-27 21:14:58 +00:00
pjd
1d91900267 Add SHSEC class to the list of geom(8)-aware classes.
MFC after:	3 days
2005-02-27 17:56:59 +00:00
pjd
3f4b3cea66 Add a missing comma. 2005-02-25 17:22:23 +00:00