summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-kcopyd.c
diff options
context:
space:
mode:
authorJay Fenlason <fenlason@redhat.com>2008-10-24 21:26:20 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2008-10-26 10:27:01 +0100
commitcd1f70fdb4823c97328a1f151f328eb36fafd579 (patch)
tree43810548ecebf6bc8329a1c6454584d81151c758 /drivers/md/dm-kcopyd.c
parentfirewire: fw-sbp2: delay first login to avoid retries (diff)
downloadlinux-cd1f70fdb4823c97328a1f151f328eb36fafd579.tar.xz
linux-cd1f70fdb4823c97328a1f151f328eb36fafd579.zip
firewire: fw-sbp2: fix races
1: There is a small race between queue_delayed_work() and its corresponding kref_get(). Do the kref_get first, and _put it again if the queue_delayed_work() failed, so there is no chance of the kref going to zero while the work is scheduled. 2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of garbage. Initialize it to an invalid value so we can tell if we ever got a valid login_id. 3: The node ID and generation may have changed but the new values may not yet have been recorded in lu and tgt when the final logout is attempted. Use the latest values from the device in sbp2_release_target(). Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/md/dm-kcopyd.c')
0 files changed, 0 insertions, 0 deletions