I thought to add Minfei Huang <mhuang(a)redhat.com> as author and his
signed-off-by at the end of log, but git send-email can't send email
with an warning "5.1.1 <mhuang(a)redhat.com> ... User unknown". So I have
to take this as author.
On 06/29/16 at 10:08am, Baoquan He wrote:
> There are several kinds of iSCSI mode rhel support currently.
> - Pure hardware iSCSI
> - iBFT iSCSI
> - Pure software iSCSI
>
> Except for the 1st one that firmware takes care of everything to
> make it behave like a local disk, both iBFT and pure software iSCSI
> mode need pass information to kdump kernel for configuring them
> correctly.
>
> Currently kdump takes iBFT mode as a software iSCSI and collects
> the related information to set up software iSCSI in 2nd kernel,
> though dracut can detect and collect information to set up iBFT
> iSCSI of 2nd kernel. This brings up 2 problems:
>
> 1) For iBFT mode 2 sessions will be built in 2nd kernel, one is in
> iBFT mode, the other is pure software mode. This is because both
> kdump and dracut collect iSCSI inforamtion separately for a certain
> iBFT mode iSCSI of 1st kernel.
>
> 2) These 2 sessions of 2nd kernel for a certain session of 1st kernel
> could contain two "ip=xxx" cmdline option. This will cause cmdline
> handling error in dracut.
>
> In order to avoid above 2 problems, kdump need detect iBFT mode iSCSI
> and leave it to dracut. This is what is donw in this patch.
>
> Signed-off-by: Baoquan He <bhe(a)redhat.com>
> ---
> dracut-module-setup.sh | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
> index ecf7d3f..aa204f8 100755
> --- a/dracut-module-setup.sh
> +++ b/dracut-module-setup.sh
> @@ -511,7 +511,11 @@ kdump_get_iscsi_initiator() {
> return 1
> }
>
> -# No ibft handling yet.
> +# Figure out iBFT session according to session type
> +is_ibft() {
> + [ "$(kdump_iscsi_get_rec_val $1 "node.discovery_type")" = fw
]
> +}
> +
> kdump_setup_iscsi_device() {
> local path=$1
> local tgt_name; local tgt_ipaddr;
> @@ -534,6 +538,10 @@ kdump_setup_iscsi_device() {
> return 1
> fi
>
> + if is_ibft ${path}; then
> + return
> + fi
> +
> tgt_name=$(kdump_iscsi_get_rec_val ${path} "node.name")
> tgt_ipaddr=$(kdump_iscsi_get_rec_val ${path}
"node.conn\[0\].address")
>
> --
> 2.5.5
>