hba: Rescan using SCSI layer

Since commit b6a27493a4 (Rescan SAN devices before rebuilding multipath
bindings) in Jan 2009, we perform scsi scan during multiapth rescan flow.

In Sep 2013, commit 66c24c1996 (iscsi: Iscsi rescan cleanup) removed scsi scan,
assuming that iscsiadm --rescan was good enough.  iscsiadm do perform scsi
scan, but only for scsi_host with iscsi connection.  Since this change, new
LUNs created on FC storage server are not discovered by hosts.

In commit 674337d8f9 (multipath: Rescan also FC devices), we tried to fix HBA
rescanning by using issue_lip.  But issue_lip was proved to be disruptive, (see
bug 1157681) and was disabled in commit 48fa75287e (multiapth: Disable hba
rescanning 22 by default).

This patch restores the missing scsi scan for fc_hosts, enabling discovery of
new FC LUNs in the multiapth rescan flow.

Since scsi scan is a blocking operation, we perform the scan using external
command line tool, ensuring that vdsm cannot get stuck. This tool can be also
useful outside of vdsm.

In the fc-scan tool, we perform the scan in parallel, so blocking on
unresponsive fc_host will not prevent discovery of new devices on other
fc_hosts.

Change-Id: I7deb3047f1b75c4c65d59602b908835515290993
Bug-Url: https://bugzilla.redhat.com/1159839
Relates-To: https://bugzilla.redhat.com/1123637
Relates-To: https://bugzilla.redhat.com/1157681
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/34245
Reviewed-by: Adam Litke <alitke@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-by: Federico Simoncelli <fsimonce@redhat.com>