On 09/18/17 at 08:55am, Baoquan He wrote:
On 09/18/17 at 08:34am, Baoquan He wrote:
> On 09/17/17 at 09:28pm, Bhupesh Sharma wrote:
> > + # Check if we have any leading spaces (or tabs) before the
> > + # variable name in the kdump conf file. While doing so exclude any
> > + # comments which appear to have leading spaces (or tabs)
> > + awk 'BEGIN{cnt=0} {cnt=match($0, /^[[:blank:]]/); if(cnt!=0) print
$0}' $KDUMP_CONFIG_FILE >> $TMP_FILE
> > +
> > + nr=$(awk 'BEGIN{cnt_hash=0; cnt_blank=0} {cnt_hash=match($0, /#.*$/);
if(cnt_hash!=0) next; else cnt_blank++} END{print cnt_blank}' $TMP_FILE)
> > + [ $nr -gt 0 ] && {
> > + echo "No whitespaces are allowed before a kdump option name. Please
check $KDUMP_CONFIG_FILE"
> > + rm -f $TMP_FILE
> > + return 1
>
> How about this:
>
> if grep -v "^[[:blank:]]*#" /etc/kdump.conf| grep -v "^$"| grep
"^[[:space:]]"; then
> fi
>
> It can ignore the comment at the beginning with [[:blank:]], and blank
> line, only check line with config info.
>
> And why don't we just help erase the [[:blank:]] at the beginning of
> config line, like this:
>
> grep -v "^[[:blank:]]*#" /etc/kdump.conf| grep -v "^$"| grep -v
"^[[:space:]]"
OK, forget this saying. Here it's just checking. So the command 'read'
won't filter out the [[:blank:]] for config and value?
It should, I think it is casued by below code in mkdumprd, just guess I
did not verify it:
SAVE_PATH=$(grep ^path $conf_file| cut -d' ' -f2)
So we have several different places parsing kdump.conf, kdumpctl,
mkdumprd kdump.sh etc. If we support the leading whitespace, we need
make sure it works on every cases, so I worried that it make the code
more complex.
But in this patch it seems also not worth the awk scripts, something
like below should work:
if egrep '^[[:blank:]]+[a-z]' $KDUMP_CONFIG_FILE; then
echo "No whitespaces are allowed before a kdump option name."
return 1
fi
>
> Thanks
> Baoquan
>
> > + }
> > +
> > + rm -f $TMP_FILE
> > +
> > while read config_opt config_val; do
> > case "$config_opt" in
> > \#* | "")
> > --
> > 2.7.4
> > _______________________________________________
> > kexec mailing list -- kexec(a)lists.fedoraproject.org
> > To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
> _______________________________________________
> kexec mailing list -- kexec(a)lists.fedoraproject.org
> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
_______________________________________________
kexec mailing list -- kexec(a)lists.fedoraproject.org
To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
Thanks
Dave