I found another issue on the LVM resize option : it always preserves
the partition. This is not appropriate, as when resizing /usr like I
do one is expecting the partition to be cleaned before the new
installation. Also, setup-storage fails if the partition does not
already exist :
Can't preserve /dev/vg0/usr because it does not exist
IMHO the resize option should behave as follows:
if (the volume exists) {
resize the volume
if (a preserve* flag is also set for this volume) {
resize the filesystem
} else {
create a new filesystem
}
} else {
ignore the resize flag and create a new volume + filesystem
}
I believe that it's mostly a matter of naming and/or using the options somewhat
differently:
- If you don't want to preserve data, there is no reason to use resize or
preserve. Just specify the size and you get what you want.
- If you want to preserve data but need to change sizes, you use "resize".
- If you really want setup-storage not to touch some volume, use one of the
preserve options. Where preserve is one of preserve_always, preserve_reinstall
or preserve_lazy. The latter seems to be still buggy, as you noted, that has
to be fixed.
I'm not sure whether this was a problem of missing documentation/clarification
or rather a real wish to alter behaviour.
Right, remove the existing volume and create a new one is just as good
as resizing. I have just missed the easier way to do it.
The only remaining question is what to do if the volume to be resized
does not exist : setup-storage may either complain as it currently does,
or ignore the resize flag. As you say it's mainly a documentation issue.
My feeling is that the volume line (IE I want an 8GiB volume) has a
higher weight than the resize option, but although I represent 100% of
the users by now I may be wrong.
--
Nicolas