diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 6e03e7991a5d..d722a30b0b74 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -4531,7 +4531,7 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry) if (inode->i_size > BTRFS_EMPTY_DIR_SIZE) return -ENOTEMPTY; if (btrfs_ino(BTRFS_I(inode)) == BTRFS_FIRST_FREE_OBJECTID) - return -EPERM; + return btrfs_delete_subvolume(dir, dentry); trans = __unlink_start_trans(dir); if (IS_ERR(trans))