Also, a 2-member raid5 or 3-member raid6 are a raid1 and can be treated as such.

Chris Mason <chris.ma...@fusionio.com> wrote:

>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

-- 
Sent from my mobile phone. Please excuse brevity and lack of formatting.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to