Re: experimental raid5/6 code in git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 04, 2013 at 02:42:24PM -0700, H. Peter Anvin wrote:
> @@ -1389,6 +1392,14 @@ int btrfs_rm_device(struct btrfs_root *root, char
> *device_path)
>  	}
>  	btrfs_dev_replace_unlock(&root->fs_info->dev_replace);
> 
> +	if ((all_avail & (BTRFS_BLOCK_GROUP_RAID5 |
> +			  BTRFS_BLOCK_GROUP_RAID6) && num_devices <= 3)) {
> +		printk(KERN_ERR "btrfs: unable to go below three devices "
> +		       "on raid5 or raid6\n");
> +		ret = -EINVAL;
> +		goto out;
> +	}
> +
>  	if ((all_avail & BTRFS_BLOCK_GROUP_RAID10) && num_devices <= 4) {
>  		printk(KERN_ERR "btrfs: unable to go below four devices "
>  		       "on raid10\n");
> @@ -1403,6 +1414,21 @@ int btrfs_rm_device(struct btrfs_root *root, char
> *device_path)
>  		goto out;
>  	}
> 
> +	if ((all_avail & BTRFS_BLOCK_GROUP_RAID5) &&
> +	    root->fs_info->fs_devices->rw_devices <= 2) {
> +		printk(KERN_ERR "btrfs: unable to go below two "
> +		       "devices on raid5\n");
> +		ret = -EINVAL;
> +		goto out;
> +	}
> +	if ((all_avail & BTRFS_BLOCK_GROUP_RAID6) &&
> +	    root->fs_info->fs_devices->rw_devices <= 3) {
> +		printk(KERN_ERR "btrfs: unable to go below three "
> +		       "devices on raid6\n");
> +		ret = -EINVAL;
> +		goto out;
> +	}
> +
>  	if (strcmp(device_path, "missing") == 0) {
>  		struct list_head *devices;
>  		struct btrfs_device *tmp;
> 
> 
> This seems inconsistent?

Whoops, missed that one.  Thanks!

-chris

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux