diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 00424d3f34640dcfa98ed87dd48ae0f1a22b8d67..178e49bd0060787d9217c96bdf0c7f163c077fec 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -768,6 +768,9 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir, int ret; bool snapshot_force_cow = false; + if (btrfs_root_refs(&root->root_item) == 0) + return -ENOENT; + if (!test_bit(BTRFS_ROOT_REF_COWS, &root->state)) return -EINVAL;