]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/nfs/direct.c
NFS: Fix for bug in handling of errors for O_DIRECT writes
[linux-2.6-omap-h63xx.git] / fs / nfs / direct.c
index 32fe97211eea995b3b6b76d63507bbda3b2a5398..afcab007a22b519ad1542f47175c1b56fb132cf4 100644 (file)
@@ -549,13 +549,13 @@ static void nfs_direct_write_result(struct rpc_task *task, void *calldata)
 
        spin_lock(&dreq->lock);
 
-       if (unlikely(dreq->error != 0))
-               goto out_unlock;
        if (unlikely(status < 0)) {
-               /* An error has occured, so we should not commit */
+               /* An error has occurred, so we should not commit */
                dreq->flags = 0;
                dreq->error = status;
        }
+       if (unlikely(dreq->error != 0))
+               goto out_unlock;
 
        dreq->count += data->res.count;