diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-02-18 18:59:44 -0500 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-02-19 13:45:56 -0500 |
commit | 05a50a5be897004b6c1399645256bcf2e768b4ef (patch) | |
tree | 084ec3b056a0eca7773dcb58b90177677f487b50 /drivers/tc | |
parent | 5964c1b83912dd5052f66ceb50634df958129981 (diff) | |
download | op-kernel-dev-05a50a5be897004b6c1399645256bcf2e768b4ef.zip op-kernel-dev-05a50a5be897004b6c1399645256bcf2e768b4ef.tar.gz |
orangefs: have ..._clean_interrupted_...() wait for copy to/from daemon
* turn all those list_del(&op->list) into list_del_init()
* don't pick ops that are already given up in control device
->read()/->write_iter().
* have orangefs_clean_interrupted_operation() notice if op is currently
being copied to/from daemon (by said ->read()/->write_iter()) and
wait for that to finish.
* when we are done copying to/from daemon and find that it had been
given up while we were doing that, wake the waiting ..._clean_interrupted_...
As the result, we are guaranteed that orangefs_clean_interrupted_operation(op)
doesn't return until nobody else can see op. Moreover, we don't need to play
with op refcounts anymore.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'drivers/tc')
0 files changed, 0 insertions, 0 deletions