[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] settrans -gl only kills the active translator
From: |
Niels Möller |
Subject: |
Re: [PATCH] settrans -gl only kills the active translator |
Date: |
11 May 2001 20:56:20 +0200 |
Neal H Walfield <neal@cs.uml.edu> writes:
> > What does --force do in the current code? From a user perspective, I
> > think --force should do whatever is needed to get the translator
> > disappear. In this case, it should probably try to make the translator
> > go away nicely, and if that fails, disconnect it anyway.
>
> Using a regular goaway (i.e. `settrans -g node') asks the filesystem to
> send an fsys_goaway to the child. Appling the force options adds
> FSYS_GOAWAY_FORCE to the flags passed to the child. Normally, this
> option is interpreted as shutdown even if there are users. It is up to
> the child to repect these. Disconnect tells the filesystem to not tell
> the child to go away, but rather to just deallocate the child's control
> port.
I think I understand that, but I still think it's a suboptimal user
interface. Let me tell you a story. Several years ago, I had trouble
with the university sparc station I was using. I knew about the eject
command, but it didn't eject my floppy. So I went to the sysadm and
complained, and he told me to try eject -f (that would be eject
--force in GNU-speak). So I tried that, and it worked. That was a
kind-of confusing experience, but at least I could understand "-f" =
"try a little harder".
I would have been even more confused if the sysadm had told med "try
eject --force, and if that doesn't work, try eject --disconnect too".
The same applies to eject: A user can apply --force without
understanding exactly how it works, just knowing that it means "try
harder".
I believe --force should be the canonical "try-harder" flag, with DWIM
behaviour.
To be more concrete, I would suggest renaming the current --force
option to --goaway-force, and let
settrans --force ...
be equivalent to
settrans --force-goaway ... | settrans --disconnect ...
Does that make any sense to you?
/Niels