aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sort.c
diff options
context:
space:
mode:
authorJames.Smart@Emulex.Com <James.Smart@Emulex.Com>2005-12-15 09:56:22 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2005-12-15 22:22:14 -0500
commit42e33148df38c60b99d984b76b302c64397ebe4c (patch)
tree8f7b7f446250d7ae5261c09aaf4a8f5e245794dd /lib/sort.c
parent7116317dc9148d783846299fc80a7d377baa6dca (diff)
[SCSI] fix for fc transport recursion problem.
In the scenario that a link was broken, the devloss timer for each rport was expire at roughly the same time, causing lots of "delete" workqueue items being queued. Depth is dependent upon the number of rports that were on the link. The rport target remove calls were calling flush_scheduled_work(), which would interrupt the stream, and start the next workqueue item, which did the same thing, and so on until recursion depth was large. This fix stops the recursion in the initial delete path, and pushes it off to a host-level work item that reaps the dead rports. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'lib/sort.c')
0 files changed, 0 insertions, 0 deletions