|
@@ -2095,13 +2095,13 @@ static noinline int btrfs_ioctl_snap_destroy(struct file *file,
|
|
err = inode_permission(inode, MAY_WRITE | MAY_EXEC);
|
|
err = inode_permission(inode, MAY_WRITE | MAY_EXEC);
|
|
if (err)
|
|
if (err)
|
|
goto out_dput;
|
|
goto out_dput;
|
|
-
|
|
|
|
- /* check if subvolume may be deleted by a non-root user */
|
|
|
|
- err = btrfs_may_delete(dir, dentry, 1);
|
|
|
|
- if (err)
|
|
|
|
- goto out_dput;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /* check if subvolume may be deleted by a user */
|
|
|
|
+ err = btrfs_may_delete(dir, dentry, 1);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_dput;
|
|
|
|
+
|
|
if (btrfs_ino(inode) != BTRFS_FIRST_FREE_OBJECTID) {
|
|
if (btrfs_ino(inode) != BTRFS_FIRST_FREE_OBJECTID) {
|
|
err = -EINVAL;
|
|
err = -EINVAL;
|
|
goto out_dput;
|
|
goto out_dput;
|