mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
IB/srp: Make writing the add_target sysfs attr interruptible
Avoid that shutdown of srp_daemon is delayed if add_target_mutex is held by another process. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
290081b453
commit
4fa354c9db
@ -3299,7 +3299,9 @@ static ssize_t srp_create_target(struct device *dev,
|
|||||||
*/
|
*/
|
||||||
scsi_host_get(target->scsi_host);
|
scsi_host_get(target->scsi_host);
|
||||||
|
|
||||||
mutex_lock(&host->add_target_mutex);
|
ret = mutex_lock_interruptible(&host->add_target_mutex);
|
||||||
|
if (ret < 0)
|
||||||
|
goto put;
|
||||||
|
|
||||||
ret = srp_parse_options(buf, target);
|
ret = srp_parse_options(buf, target);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -3455,6 +3457,7 @@ connected:
|
|||||||
out:
|
out:
|
||||||
mutex_unlock(&host->add_target_mutex);
|
mutex_unlock(&host->add_target_mutex);
|
||||||
|
|
||||||
|
put:
|
||||||
scsi_host_put(target->scsi_host);
|
scsi_host_put(target->scsi_host);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
scsi_host_put(target->scsi_host);
|
scsi_host_put(target->scsi_host);
|
||||||
|
Loading…
Reference in New Issue
Block a user