Commit Graph

336 Commits

Author SHA1 Message Date
Neil Brown 8382f19bdc Add new mode: --incremental
--incremental allows arrays to be assembled one device at a time.
This is expected to be used with udev.
2006-12-21 17:10:52 +11:00
Neil Brown 350f29f90d Centralise code for copying uuid
Rather than opencoding the byteswap all the time.
2006-12-14 17:33:14 +11:00
Neil Brown 3d3dd91e38 Support --uuid= with --create to choose your own UUID. 2006-12-14 17:33:10 +11:00
Neil Brown 4855f95c70 Fix bug where v1 superblock might appear active when they should be clean.
Only happens on kernel with 32 bit sector_t.
2006-12-14 17:32:59 +11:00
Neil Brown beae1dfe2e Central calls to ioctl BLKGETSIZE
Instead of opencoding the same thing everywhere.
2006-12-14 17:32:57 +11:00
Neil Brown ab5303d695 Don't hold md device open for so long in --monitor mode
map_dev can be slow and interferes with trying to stop the array.
2006-12-14 17:32:53 +11:00
Neil Brown 4a39c6f236 Check device is large enough before hot-add.
This improves quality of error message.
2006-12-14 17:32:49 +11:00
Neil Brown c5a6f9a61d Change handling for "--assemble --force" when two drives disappeared at once.
If two drives in a raid5 disappear at the same time, then "-Af"
will add them both in rather than just one and forcing the array
to 'clean'.  This is slightly safer in some cases.
2006-12-14 17:31:41 +11:00
Neil Brown bf4fb153a4 Fix and test --update=uuid
A number of odd bugs here, but now we have a regression test as well.
2006-12-14 17:31:29 +11:00
Neil Brown 37dfc3d638 When resync finished, report the mismatch count if there is one.
This doesn't get mailed out, but will appear in syslog...
Maybe it should be mailed if it was a 'check' or 'repair' pass...
2006-12-14 17:31:25 +11:00
Neil Brown b90c0e9a12 --wait or -W will wait for resync activity to finish on the given devices. 2006-12-14 17:31:22 +11:00
Neil Brown e336254463 Change 'Device Size' to 'Used Dev Size'
because it only shows how much of each device is actually used, not
how big they are.
2006-12-14 17:31:19 +11:00
Neil Brown 758d3a8e7d Increase raid456 stripe cache size if needed to --grow the array.
The setting used unfortunately requires intimate knowledge of the
kernel, and it not reset when the reshape finishes.
2006-12-14 17:31:16 +11:00
Neil Brown 583315d9c5 Give useful message if raid4/5/6 cannot be started because it is not clean and is also degraded. 2006-12-14 17:31:13 +11:00
Neil Brown 7572344665 Default to --auto=yes
so the array devices with 'standard' names
get created automatically, as this is almost always what is wanted.
2006-12-14 17:31:10 +11:00
Neil Brown d645b91a1b Fix a misleading comment. 2006-12-14 17:31:08 +11:00
Neil Brown bee8ec56f4 Support --update=devicesize for cases where the underlying device can change size. 2006-12-14 17:31:03 +11:00
Neil Brown 199171a297 Improve allocation and use of space for bitmaps in version1 metadata
Depending on the size of the array we reserve space for up to 128K
of bitmap, and we use it where possible.
When hot-adding to a version 1.0 we can still only use the 3K at the
end though - need a sysfs interface to improve that.

If a small chunksize is requested on Create, we don't auto-enlarge
the reserved space - this still needs to be fixed.
2006-12-14 17:31:00 +11:00
Neil Brown 90cf1dddb2 Actually support --syslog
Fixes-debian-bug: 402457 (part)

All the code is there, and it works for '-y', but for some reason,
"syslog" was missing from the long_options.
2006-12-14 17:30:56 +11:00
Neil Brown b5e3d1901f Remove some unused interfaces to the metadata handlers.
This stuff has never been used (at least as far as git history can
see).  I wonder why it was there...
2006-12-14 17:30:53 +11:00
Neil Brown 67a8c82d60 Make Assemble/Force work on raid6 with 2 missing devices.
Previously it onl worked when one missing device.
Also split the "force" update_super method into two and it
is really serving two functions.
2006-12-14 17:30:51 +11:00
Neil Brown 434b77559e --update=resync did exactly the wrong thing for version1 metadata. 2006-11-13 09:12:09 +11:00
Neil Brown b7a708af6f Fixed UUID printing in "--detail --brief" for version1 metadata. 2006-11-09 16:28:27 +11:00
Neil Brown 9255bbc84f Release 2.5.6 2006-11-09 10:00:32 +11:00
Neil Brown 60e1bc1a33 Fixed problems that could cause infinitel loop with auto assemble.
If an auto-assembly attempt failes because the array cannot be
opened or because the array has already been created, then we
get into an infinite loop.

Reported-by: Dan Pascu <dan@ag-projects.com>
Fixes-debian-bug: 396582
2006-11-09 09:38:50 +11:00
Goswin Brederlow 2790ffe38a Document that the default metadata version can be overridden in config file.
From: Goswin Brederlow <brederlo@informatik.uni-tuebingen.de>

This is already mentioned in the config documentation, but not in the
place when the normal default is mentioned.

Fixes-debian-bug: 396914
2006-11-09 09:37:45 +11:00
Neil Brown d87d0978e2 Strdup the bitmap file name found in the config file
Otherwise we quickly lose it...
2006-11-09 09:37:10 +11:00
Neil Brown 209b742f4d Release 2-5-5 2006-11-03 14:52:28 +11:00
Neil Brown e843d5d779 Support --examine --brief --verbose properly
Similar to -Esv, this combination should print out the
'devices=' line in the otherwise --breif output.
2006-10-23 15:51:26 +10:00
Michael Labuschke 3a43c80392 Check error return on a couple of syscalls.
From: "Michael Labuschke" <michael@labuschke.de>
2006-10-23 14:56:35 +10:00
Neil Brown 81074c9f7b Update test scripts for new blockdev
--getsize64 seems to have disappeared.
2006-10-23 14:56:22 +10:00
Neil Brown cbfbcb0b50 Improve error message when wrong --update option is given. 2006-10-23 08:56:27 +10:00
Neil Brown 1746711680 Increase default size of bitmap for v1 superblocks.
It can be increased further, but that takes a bit more code
so will wait for 2.6.
2006-10-19 16:46:38 +10:00
Neil Brown 702b557b1c Fix bugs related to raid10 and the new offset layout.
Need to mask of bits above the bottom 16 when calculating number of
copies.
2006-10-19 16:38:29 +10:00
Neil Brown 26a0b8fd7a Fix array-subscript error.
->name is sized to '33' to have room for a trailing nul,
but thhat needs to get put in position '32'.  Doh!
2006-10-19 16:38:20 +10:00
Luca Berra 1cac4c1b55 Don't trigger and error on -As if all arrays are already started.
From: Luca Berra <bluca@comedia.it>

Put another way, if we find any active arrays, then assume things are
going as planned.
2006-10-16 15:27:48 +10:00
Luca Berra e60c27d04e Don't fail md_open if array already active.
From: Luca Berra <bluca@comedia.it>

There is no need and it causes occasional problems.
2006-10-16 15:27:16 +10:00
Luca Berra 435d4ebb2e Mdassemble improvements
From: Luca Berra <bluca@comedia.it>

- Fix a bug where mdassemble didn't close a filedescriptor and so couldn't assembele
  stacked arrays.
- Allow mdassemble, when run a second time, to mark all arrays as writable.
  This is useful if they are started read-only as is best at boot-time.
2006-10-16 15:26:53 +10:00
Neil Brown b39827de21 Reduce max bitmap size when bitmap is in a file.
To ensure kernel never needs to allocate more than 1 page contiguously.
2006-10-16 15:26:43 +10:00
Neil Brown 97a6748ce2 Flush bitmap file before truncate.
Otheriwse the last write happens on fclose which is after ftruncate,
to the truncate has no effect.
2006-10-16 14:39:06 +10:00
Neil Brown 0a816ef9fb Don't #include blkpg.h
Just include the content directly.  It is safer.
2006-10-16 14:38:13 +10:00
Neil Brown 8e64e04456 Release 2-5-4 2006-10-13 10:12:47 +10:00
Neil Brown 0430ed4868 Remove partitions from components of an md array
They do nothing but cause confusion.
2006-10-13 09:02:35 +10:00
Neil Brown 6ba83b5f5e Allow a number after --auto=yes
So if the device name is /dev/md/d0, then the number of
partitions is as given.  This is useful in 'CREATE' in
mdadm.conf
2006-10-13 08:23:16 +10:00
Neil Brown d2df86e0a7 Improve the message when mdadm detects similar superblocks
If they are for a partition and a whole device (common case)
they old message doesn't really cover the situation.  So add
the "overlap" option to the text.
Also detect whether the device list was in mdadm.conf and
act accordingly.
2006-10-10 07:06:24 +10:00
Neil Brown 45c073c921 Clarify when update=super-minor happens automatcially
.. in man page
2006-10-10 07:06:08 +10:00
Neil Brown c1c05f7f9a Fix typo in earlier patch.
Thanks Martin Krafft
2006-10-10 06:30:07 +10:00
Paul Clements 10ae45c12c Fixed endian problem with bitmap metdata
From: Paul Clements <paul.clements@steeleye.com>
2006-10-09 11:17:22 +10:00
Neil Brown 83205b6419 Fix some endian-ness issues with v1 superblocks. 2006-10-09 11:17:12 +10:00
Neil Brown 2c102711fd Make --examine report chunk size when it should
Currently it doesn't for raid6 and raid10
2006-10-09 11:16:56 +10:00