Whamcloud - gitweb
LU-5261 osc: use wait_for_completion_killable() instead
[fs/lustre-release.git] / lustre / osc / osc_io.c
index b2e54a9..0070308 100644 (file)
@@ -542,8 +542,10 @@ static void osc_io_setattr_end(const struct lu_env *env,
         int result = 0;
 
        if (cbargs->opc_rpc_sent) {
-               wait_for_completion(&cbargs->opc_sync);
-               result = io->ci_result = cbargs->opc_rc;
+               result = wait_for_completion_killable(&cbargs->opc_sync);
+               if (result == 0)
+                       result = cbargs->opc_rc;
+               io->ci_result = result;
        }
         if (result == 0) {
                 if (oio->oi_lockless) {
@@ -688,7 +690,7 @@ static void osc_io_fsync_end(const struct lu_env *env,
                struct osc_io           *oio    = cl2osc_io(env, slice);
                struct osc_async_cbargs *cbargs = &oio->oi_cbarg;
 
-               wait_for_completion(&cbargs->opc_sync);
+               result = wait_for_completion_killable(&cbargs->opc_sync);
                if (result == 0)
                        result = cbargs->opc_rc;
        }