Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/etc
Hi Robert,
Robert Elz wrote:
> A couple of comments about your mount_critical_filesystems_zfs()
> function in rc.subr
Thank you for reviewing my code!
> It starts:
>
> eval _fslist=\$critical_filesystems_zfs
>
> I'm not sure what you're attempting to accomplish there.
I copied this line from mount_critical_filesystems:
eval _fslist=\$critical_filesystems_${1}
and changed ${1} to zfs without realising that I don't need eval
anymore.
>...
> _dataset=`
>
> (followed by a lengthy command substitution). Please don't use ``
> command substitutions, they are fragile, and essentially obsolete.
Noted.
I don't like the approach I took but I'm not very comfortable in
a bare shell when tools in /usr aren't (yet) available and this
giant $() was all I could think of.
> The only excuse for ever using them in anything modern is if the
> script might need to be run by a truly ancient shell. Just use $( )
> instead, the semantics are much cleaner.
>
> And perhaps more important, near the bottom of the big loop:
>
> if [ "$_mount_es" != 0 ]; then
> _mountcrit_es="$_mount_es"
> fi
>
> which causes the exit status of the function (_mountcrit_es) to be the
> status of the last mount that failed for some reason, rather than the
> first (which tends to be more common).
These lines is a copy/paste from mount_critical_filesystems and
your comment apply to that function too.
>...
> One additional minor point, it might be better to use -ne there instead
> of != since the values are intended to be integers, rather than strings.
> But that doesn't really matter (unless $_mount_es might be "" in which
> case using != is better - that would be 0 for -ne, but not 0 for !=).
Yes, it's intended to be integers.
--
Alex
Home |
Main Index |
Thread Index |
Old Index