[lvm-devel] [PATCH v3 01/18] fsadm: Add new commands create, list, add and remove

Zdenek Kabelac zkabelac at redhat.com
Wed Oct 5 09:06:10 UTC 2011


Dne 5.10.2011 10:02, Lukas Czerner napsal(a):
> On Tue, 4 Oct 2011, Zdenek Kabelac wrote:
>
>> Dne 4.10.2011 14:13, Lukas Czerner napsal(a):
>>> On Tue, 4 Oct 2011, Zdenek Kabelac wrote:
>>>


>>>> Well user is always the master - if he is brave to go without it, let him
>>>> do
>>>> what he wants (i.e. destroy his fs).
>>>
>>> You're missing the point, resize2fs requires that the file system is
>>> checked with e2fsck -f prior the resize, if on of the conditions happen
>>>
>>> 1. file system was not cleanly umounted
>>> 2. file system contain errors, or is invalid
>>> 3. it was not checked since the last time it was mounted
>>>
>>> It is just to make sure that the file system is consistent and we will
>>> not make everything worse by messing with metadata further.
>>>
>>
>> If the user wants to risk  resize2fs without fsck - it's his decision (and
>> current -f with fsadm allows it) - and since we are not like gnome3 - we allow
>> users to kill their systems in number of ways already, so no reason to
>> eliminate this one.
>
> Well, this is just wrong in so many ways. Running fsck.ext4 -f to force
> the full check is not the same as skipping the fsck before resize in the
> tool which is suppose to do-it-all. We have to pick the safe way here.
>

Tool is not meant to be used only in a 'safe' way - tool is supposed to fully 
usable even various force scenarios - i.e. when fsck support options '-y' we 
should be able to use - even if some extX developers think it's very 
dangerous option and should never ever be used - it's there and it has its 
use. (I've used it already many times, and nothing unexpectedly bad happened).

What we could do here better is to draw some state diagram and eventually add 
few more options - but we will not strip down the usefulness of fsadm only for 
clean filesystem and leave the user  to run  fsck -y on its - as we can do 
that for him.


>>
>> i.e. mkfs, mount, umount, resize LV, resize2fs -f   works without fsck and
>> makes errorless result - so we support.
>
> Also it makes me think that you do not really see what is in the code.
> There is nothing about about 'force', fsck is done anyway (in the old
> code - your code) in the case that
>
> [ "$NEWBLOCKCOUNT" -lt "$BLOCKCOUNT" -o "$EXTOFF" -eq 1 ]
>
> and
>
> if test -n "$MOUNTED"
>
> so please, read before you write.

man lvresize  --nofsck


> Also your arguments are out of the line. There are different levels of
> granularity of force, and if user force things he does not expect things
> will be done in wrong way. That said, when I use force I do not want to
> be asked about stupid questions, but I certaily do not want fsck before
> resize2fs to be skipped.

We already allow that - since there are situation you may need to use it.

> You just have to understand that we are using multiple tools in fsadm
> and just passing force to all of them would be incredibly stupid, even
> if you properly document it.

Certainly personal opinion.

As already said - provide state diagram and suggest more options
(in lvm we use  -ff for some situations -  so maybe more levels of force)

But we need to support what we already can do with fsadm tool.

If the user puts --force anywhere on the command line - he surely needs to 
expect, that some things may cause damage.

> his 'force' and what consequences will that have. We just HAVE to pick
> the most logical and most safe way of doing things. But your way of

There is no 'safe' way with --force - that's the purpose of force.
However there could be multiple force levels.

Zdenek




More information about the lvm-devel mailing list