]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/nfs/nfs4proc.c
NFSv4: Don't apply change_info4 twice on rename within a directory
[karo-tx-linux.git] / fs / nfs / nfs4proc.c
index 4010c33151ad73a541d8e2744283ff9e7db7d458..1e797bf74aaf8cdb7df39977e39adf53e5fedaba 100644 (file)
@@ -4159,8 +4159,11 @@ static int nfs4_proc_rename_done(struct rpc_task *task, struct inode *old_dir,
        if (nfs4_async_handle_error(task, res->server, NULL, &data->timeout) == -EAGAIN)
                return 0;
 
-       update_changeattr(old_dir, &res->old_cinfo);
-       update_changeattr(new_dir, &res->new_cinfo);
+       if (task->tk_status == 0) {
+               update_changeattr(old_dir, &res->old_cinfo);
+               if (new_dir != old_dir)
+                       update_changeattr(new_dir, &res->new_cinfo);
+       }
        return 1;
 }