From 3d279a8bb34ef9b720f410e0064b1393faf1325f Mon Sep 17 00:00:00 2001 From: Gleb Natapov <gleb@cloudius-systems.com> Date: Wed, 7 May 2014 10:12:31 +0300 Subject: [PATCH] vfs: remove unnecessary vcount() checks in rename() Elevated vnode reference count should not prevent rename() from working. Signed-off-by: Gleb Natapov <gleb@cloudius-systems.com> Signed-off-by: Avi Kivity <avi@cloudius-systems.com> --- fs/vfs/vfs_syscalls.cc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/fs/vfs/vfs_syscalls.cc b/fs/vfs/vfs_syscalls.cc index 9dda67557..7c24c0d2e 100644 --- a/fs/vfs/vfs_syscalls.cc +++ b/fs/vfs/vfs_syscalls.cc @@ -635,12 +635,6 @@ sys_rename(char *src, char *dest) if ((error = vn_access(vp1, VWRITE)) != 0) goto err1; - /* Is the source busy ? */ - if (vcount(vp1) >= 2) { - error = EBUSY; - goto err1; - } - /* Check type of source & target */ error = namei(dest, &dp2); if (error == 0) { @@ -660,11 +654,6 @@ sys_rename(char *src, char *dest) error = EEXIST; goto err2; } - - if (vcount(vp2) >= 2) { - error = EBUSY; - goto err2; - } } else if (error == ENOENT) { if (vp1->v_type != VDIR && has_trailing(dest, '/')) { error = ENOTDIR; -- GitLab