Commit Graph

295 Commits

Author SHA1 Message Date
pjd
f0d4b9a881 Forgot to commit those: introduce hardcoded provider functionality,
which allow to store provider's name in the metadata and avoid
problems when few providers share the same last sector.
2004-08-10 19:52:12 +00:00
pjd
a98f255700 - Introduce option for hardcoding providers' names into metadata.
It allows to fix problems when last provider's sector is shared between few
  providers.
- Bump version number for CONCAT and STRIPE and add code for backward
  compatibility.
- Do not bump version number of MIRROR, as it wasn't officially introduced yet.
  Even if someone started to play with it, there is no big deal, because
  wrong MD5 sum of metadata will deny those providers.
- Update manual pages.
- Add version history to g_(stripe|concat).h files.
2004-08-09 11:29:42 +00:00
pjd
5ce00478e0 Add and document kern.geom.stripe.fast_failed sysctl, which shows how
many times "fast" mode failed.
2004-08-06 10:19:34 +00:00
pjd
27a1acf9e3 Don't use version number in library name. The library version is checked
after dlopen() anyway, so we should be safe.

Suggested by:	ru
2004-08-02 09:05:29 +00:00
pjd
237c75e898 After changing LIBDIR to SHLIBDIR, because of dependencies problems,
new problem shows up: symblic links (<libname>.so) are created under
/usr/lib/ now, instead of under /lib/geom/ where geom(8) looks for them.
Introduce a workaround to fix this by teaching geom(8) to open libraries
via /lib/geom/<libname>.so.<major_number> instead of /lib/geom/<libname>.so.
2004-08-01 22:24:07 +00:00
pjd
73d6fc0052 Use SHLIBDIR instead of LIBDIR. This should fix buildworld breakage.
Reported by:	des
2004-07-31 09:20:27 +00:00
pjd
0d74239c00 Add '-p' option for 'insert' command which allows to specify priority
of the new component.
Version number wasn't bumped (it should be), because I think there are
no geom_mirror users yet.
2004-07-31 00:54:44 +00:00
pjd
70045d465a Connect GEOM_MIRROR class to the build. 2004-07-30 23:18:53 +00:00
pjd
adaa0482b4 Add GEOM_MIRROR class which provide RAID1 functionality and has many useful
features. The gmirror(8) utility should be used for control of this class.
There is no manual page yet, but I'm working on it with keramida@.

Many useful tests provided by:	simon (thank you!)
Some ideas from:		scottl, simon, phk
2004-07-30 23:13:45 +00:00
pjd
7a7cae7b30 - Add '-S' option, which allow to specify sector size for transparent
provider.
- Bump version number.

This allows for a quite interesting trick. One can setup a stripe with
stripe size of 512 bytes and create transparent provider on top of it
with sector size equal to <ndisks> * 512. The result will be something
like RAID3 without parity disk (every access will touch all disks).
2004-07-30 08:19:22 +00:00
pjd
beead26532 Fix typo. 2004-07-30 08:03:46 +00:00
pjd
73a684d587 Improve geom(8)'s 'list' command to show geoms and their providers and
consumers. Teach STRIPE, CONCAT and NOP classes about this improvement.
2004-07-26 17:14:47 +00:00
pjd
3a2f13d5f5 Change naming scheme from /dev/<name>.stripe to /dev/stripe/<name>. 2004-07-26 16:10:27 +00:00
pjd
badd010cc7 Change naming scheme from /dev/<name>.concat to /dev/concat/<name>. 2004-07-26 16:08:32 +00:00
pjd
67d8cb396e MFp4: Add two options for gnop(8)'s 'create' command:
-o offset - specifies where to start on the original provider
	-s size - specifies size of the transparent provider
2004-07-19 07:52:56 +00:00
pjd
dc0d79acb9 MFp4: Add 'dump' command to gconcat(8), glabel(8) and gstripe(8) which allow
to dump metadata from given components.
2004-07-18 08:00:30 +00:00
pjd
84afba7490 Add a reference to glabel(8). 2004-07-14 13:32:00 +00:00
pjd
ec7d60de69 Document sysctl variables.
Based on:	simon's patch
2004-07-13 12:32:20 +00:00
pjd
7e02e14d6d Those sysctl are used to control GEOM class, not a userland utility.
Reviewed by:	simon
2004-07-13 12:30:11 +00:00
pjd
51c2dcdfa6 Document sysctls variables used by GEOM_STRIPE class.
Submitted by:	simon
2004-07-13 11:28:40 +00:00
pjd
2210d0e607 Decrease default stripe size to 4k, as we have "FAST" mode turned on by
default.
2004-07-09 14:41:51 +00:00
ru
61c4386adb Slight markup and grammar fixes. 2004-07-07 21:00:57 +00:00
pjd
92cb4b0057 Fix copy&paste bug. 2004-07-06 18:18:20 +00:00
pjd
7822814115 - Add 'stop' command, which works just like 'destroy' command, but sounds
less dangerous.
- Update manual pages and extend examples.
- Bump versions.
2004-07-05 21:16:37 +00:00
pjd
d117b211a3 MFp4: gmirror(8) is coming soon, and we need g_metadata_read() there. 2004-07-05 02:06:44 +00:00
pjd
fba777f30c Grammar nits.
Submitted by:	David Magda <dmagda@ee.ryerson.ca>
2004-07-03 08:36:09 +00:00
pjd
7f4ea6942f Introduce GEOM_LABEL class.
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!
2004-07-02 19:40:36 +00:00
pjd
74169a273f Add missing newlines. 2004-06-17 06:04:14 +00:00
pjd
089ffc2ca6 Implement 3 new functions:
- g_lcm() - calculates Least Common Multiple of two given values,
		it is helpful when we need to find sector size for provider
		which is based on disks with different sector size;
	- g_get_mediasize() - returns media size of given provider;
	- g_get_sectorsize() - returns sector size of given provider;
Those function aren't used now, but are used by geom_mirror which will be
committed soon.
2004-06-16 10:44:26 +00:00
pjd
baa68ba11e Connect geom(8) to the build.
Reminded by:	des
2004-06-15 17:31:35 +00:00
le
6428c20edb Fix typo. 2004-05-30 17:40:39 +00:00
pjd
a040fe460a Fix order. 2004-05-26 17:51:53 +00:00
pjd
069fe3e9ef Print provider's size in human-readable form as well. 2004-05-26 11:08:35 +00:00
pjd
5388d45e09 - Add a cross-reference to geom(8).
- Add missing 'a'.
2004-05-24 23:05:21 +00:00
pjd
9dfa070a47 Add manual page for geom(8) utility.
Supported by:	Wheel - Open Technologies - http://www.wheel.pl
2004-05-24 23:03:29 +00:00
pjd
b0a9931e9a Add standard command "help" to print usage. 2004-05-22 16:57:39 +00:00
pjd
ef31e6c3b5 Actually we are also able to list only choosen providers. 2004-05-22 16:17:57 +00:00
pjd
c75ca6dc1d Be more precise. 2004-05-22 10:53:06 +00:00
pjd
f1f2f04c6e - More clear example description.
- Fix copy&paste bug.
2004-05-21 22:35:18 +00:00
pjd
79048abe02 Add manual pages for gconcat(8), gstripe(8) and gnop(8) utilities.
Supported by:	Wheel - Open Technologies - http://www.wheel.pl
2004-05-21 22:12:24 +00:00
pjd
b400b04c05 - Change command name from 'config' to 'configure'.
- Bump version number.
2004-05-21 15:23:48 +00:00
pjd
ccdf5be9ce Various style.Makefile(5) improvements.
Inspired by:	ru
2004-05-20 20:12:17 +00:00
pjd
8bae9ba9b3 Fix supposed compilation problem, using LIBDIR here can confuse core/
compilation.
2004-05-20 14:59:41 +00:00
pjd
2d3c7f90d7 Introduce geom(8)-specific shared libraries for CONCAT, STRIPE and NOP
GEOM classes. CONCAT should be 100% compatible with existing gconcat(8)
utility, which is going to be removed.

Supported by:	Wheel - Open Technologies - http://www.wheel.pl
2004-05-20 10:24:23 +00:00
pjd
b6dce981e7 Bring in geom(8) utility. It is an universal utility for operating on
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
2004-05-20 10:09:56 +00:00