linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices
@ 2014-03-07 15:48 Anand Jain
  2014-03-07 15:48 ` [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices Anand Jain
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Anand Jain @ 2014-03-07 15:48 UTC (permalink / raw)
  To: linux-btrfs

The intended usage of total_devices and num_devices
should be recorded in the comments so that these
two counters can be used correctly as originally
intended.

As of now there appears to be slight deviations/bugs
from the original intention, the bugs are apparent
that num_devices does not count seed devices where
as total_devices does, but total_devices does not
count the replacing devices where as num_devices does.

So in this situation the ioctl(BTRFS_IOC_DEVICES_READY)
will fails when there is seed FS. Next, applications
using ioctl(BTRFS_IOC_FS_INFO) and ioctl(BTRFS_IOC_DEV_INFO)
in conjunction to allocate the slots will also fail
as former depend on the num_devices where as latter
would match total_devices (except when replace is running).

This patch will help have the clarity on usage
of these two counter so that bugs related to this can
be fixed.

Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
---
v2: edit commit

 fs/btrfs/volumes.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
index 91b7596..99c71aa 100644
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -121,12 +121,18 @@ struct btrfs_fs_devices {
 	/* the device with this id has the most recent copy of the super */
 	u64 latest_devid;
 	u64 latest_trans;
+	/* num_devices contains run time count of devices which are part
+	 * of this FSID. (the FS devices + replacing devices + ?
+	 */
 	u64 num_devices;
 	u64 open_devices;
 	u64 rw_devices;
 	u64 missing_devices;
 	u64 total_rw_bytes;
 	u64 num_can_discard;
+	/* total_devices contains static recorded count of device which
+	 * are part of this FSID. (the FS devices + seed devices + ?
+	 */
 	u64 total_devices;
 	struct block_device *latest_bdev;
 
-- 
1.8.5.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices
  2014-03-07 15:48 [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
@ 2014-03-07 15:48 ` Anand Jain
  2014-05-13  9:17   ` Wang Shilong
  2014-03-07 15:48 ` [PATCH 3/3 RFC] btrfs: show_devname should not consider seed disk Anand Jain
  2014-03-10  1:58 ` [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
  2 siblings, 1 reply; 7+ messages in thread
From: Anand Jain @ 2014-03-07 15:48 UTC (permalink / raw)
  To: linux-btrfs

ioctl(BTRFS_IOC_FS_INFO) returns num_devices which does not
count seed device. num_devices is used to calculate
the number of slots during the ioctl(BTRFS_IOC_DEV_INFO)
but ioctl(BTRFS_IOC_DEV_INFO) would count seed devices as well.
Due to this miss match btrfs_progs get_fs_info() hits the bug..
            get_fs_info()
            ::
                    BUG_ON(ndevs >= fi_args->num_devices);

what I notice is total_devices should be returned by the
ioctl(BTRFS_IOC_FS_INFO)), however total_devices does not
count (transient) replacing device but num_devices does.

first, num_devices which appears to be a subset of
total_devices helps to count the number of devices
under a FSID which excludes the seed devices but
includes the transient replacing device.

total_devices which includes seed devices is as of
now does not count the tansient replacing device,
which IMO is a bug or the implementation details
are not clear enough to state the role of num_devices
and total_devices.

The user land on the otherhand would want to know
all the devices that would come out of probe
against a FSID

As of now in this patch I am making the ioctl.c local
changes (instead of asking replace thread to update
total_devices) to  include replacing device.

Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
---
 fs/btrfs/ioctl.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 5036f9d..ec7d5c6 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2510,6 +2510,7 @@ static long btrfs_ioctl_fs_info(struct btrfs_root *root, void __user *arg)
 	struct btrfs_device *next;
 	struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices;
 	int ret = 0;
+	int dev_replace_running = 0;
 
 	if (!capable(CAP_SYS_ADMIN))
 		return -EPERM;
@@ -2518,8 +2519,18 @@ static long btrfs_ioctl_fs_info(struct btrfs_root *root, void __user *arg)
 	if (!fi_args)
 		return -ENOMEM;
 
+	btrfs_dev_replace_lock(&root->fs_info->dev_replace);
+	if (btrfs_dev_replace_is_ongoing(&root->fs_info->dev_replace))
+		dev_replace_running = 1;
+
+	btrfs_dev_replace_unlock(&root->fs_info->dev_replace);
+
 	mutex_lock(&fs_devices->device_list_mutex);
-	fi_args->num_devices = fs_devices->num_devices;
+	if (dev_replace_running)
+		fi_args->num_devices = fs_devices->total_devices + 1;
+	else
+		fi_args->num_devices = fs_devices->total_devices;
+
 	memcpy(&fi_args->fsid, root->fs_info->fsid, sizeof(fi_args->fsid));
 
 	list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) {
-- 
1.8.5.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3 RFC] btrfs: show_devname should not consider seed disk
  2014-03-07 15:48 [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
  2014-03-07 15:48 ` [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices Anand Jain
@ 2014-03-07 15:48 ` Anand Jain
  2014-03-10  1:58 ` [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
  2 siblings, 0 replies; 7+ messages in thread
From: Anand Jain @ 2014-03-07 15:48 UTC (permalink / raw)
  To: linux-btrfs

most of the user level scripts uses /proc/self/mounts for the
disk-path to mount-point to fsid mapping. But when seed disk is
present which generally has lowest devid, the /proc/self/mounts
would show the seed disk, but seed disk has different fsid from
the actual fsid that's mounted. Due to this miss match these
scripts fails to work. One such example is btrfs-porgs
check_mounted_where().

The solution here is not to loop into the seed disks, but still
return the lowest devid under the given mount point.

Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
---
 fs/btrfs/super.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index f3c0247..c023ffa 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -1892,15 +1892,12 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root)
 
 	mutex_lock(&fs_info->fs_devices->device_list_mutex);
 	cur_devices = fs_info->fs_devices;
-	while (cur_devices) {
-		head = &cur_devices->devices;
-		list_for_each_entry(dev, head, dev_list) {
-			if (dev->missing)
-				continue;
-			if (!first_dev || dev->devid < first_dev->devid)
-				first_dev = dev;
-		}
-		cur_devices = cur_devices->seed;
+	head = &cur_devices->devices;
+	list_for_each_entry(dev, head, dev_list) {
+		if (dev->missing)
+			continue;
+		if (!first_dev || dev->devid < first_dev->devid)
+			first_dev = dev;
 	}
 
 	if (first_dev) {
-- 
1.8.5.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices
  2014-03-07 15:48 [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
  2014-03-07 15:48 ` [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices Anand Jain
  2014-03-07 15:48 ` [PATCH 3/3 RFC] btrfs: show_devname should not consider seed disk Anand Jain
@ 2014-03-10  1:58 ` Anand Jain
  2 siblings, 0 replies; 7+ messages in thread
From: Anand Jain @ 2014-03-10  1:58 UTC (permalink / raw)
  To: linux-btrfs


  Any comments on this set of patches ?

Thanks, Anand


On 07/03/2014 23:48, Anand Jain wrote:
> The intended usage of total_devices and num_devices
> should be recorded in the comments so that these
> two counters can be used correctly as originally
> intended.
>
> As of now there appears to be slight deviations/bugs
> from the original intention, the bugs are apparent
> that num_devices does not count seed devices where
> as total_devices does, but total_devices does not
> count the replacing devices where as num_devices does.
>
> So in this situation the ioctl(BTRFS_IOC_DEVICES_READY)
> will fails when there is seed FS. Next, applications
> using ioctl(BTRFS_IOC_FS_INFO) and ioctl(BTRFS_IOC_DEV_INFO)
> in conjunction to allocate the slots will also fail
> as former depend on the num_devices where as latter
> would match total_devices (except when replace is running).
>
> This patch will help have the clarity on usage
> of these two counter so that bugs related to this can
> be fixed.
>
> Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
> ---
> v2: edit commit
>
>   fs/btrfs/volumes.h | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
> index 91b7596..99c71aa 100644
> --- a/fs/btrfs/volumes.h
> +++ b/fs/btrfs/volumes.h
> @@ -121,12 +121,18 @@ struct btrfs_fs_devices {
>   	/* the device with this id has the most recent copy of the super */
>   	u64 latest_devid;
>   	u64 latest_trans;
> +	/* num_devices contains run time count of devices which are part
> +	 * of this FSID. (the FS devices + replacing devices + ?
> +	 */
>   	u64 num_devices;
>   	u64 open_devices;
>   	u64 rw_devices;
>   	u64 missing_devices;
>   	u64 total_rw_bytes;
>   	u64 num_can_discard;
> +	/* total_devices contains static recorded count of device which
> +	 * are part of this FSID. (the FS devices + seed devices + ?
> +	 */
>   	u64 total_devices;
>   	struct block_device *latest_bdev;
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices
  2014-03-07 15:48 ` [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices Anand Jain
@ 2014-05-13  9:17   ` Wang Shilong
  2014-05-14  8:30     ` Anand Jain
  0 siblings, 1 reply; 7+ messages in thread
From: Wang Shilong @ 2014-05-13  9:17 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

Hello Anand,

I agree we can export @total_devices to fix 'btrfs file show' problem.
This patch addressed two problem, it is better to split it into two patches.

Could you please resend the patch, at least we should fix 'btrfs file show'
problem firstly.

Thanks,
Wang

On 03/07/2014 11:48 PM, Anand Jain wrote:
> ioctl(BTRFS_IOC_FS_INFO) returns num_devices which does not
> count seed device. num_devices is used to calculate
> the number of slots during the ioctl(BTRFS_IOC_DEV_INFO)
> but ioctl(BTRFS_IOC_DEV_INFO) would count seed devices as well.
> Due to this miss match btrfs_progs get_fs_info() hits the bug..
>              get_fs_info()
>              ::
>                      BUG_ON(ndevs >= fi_args->num_devices);
>
> what I notice is total_devices should be returned by the
> ioctl(BTRFS_IOC_FS_INFO)), however total_devices does not
> count (transient) replacing device but num_devices does.
>
> first, num_devices which appears to be a subset of
> total_devices helps to count the number of devices
> under a FSID which excludes the seed devices but
> includes the transient replacing device.
>
> total_devices which includes seed devices is as of
> now does not count the tansient replacing device,
> which IMO is a bug or the implementation details
> are not clear enough to state the role of num_devices
> and total_devices.
>
> The user land on the otherhand would want to know
> all the devices that would come out of probe
> against a FSID
>
> As of now in this patch I am making the ioctl.c local
> changes (instead of asking replace thread to update
> total_devices) to  include replacing device.
>
> Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
> ---
>   fs/btrfs/ioctl.c | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index 5036f9d..ec7d5c6 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -2510,6 +2510,7 @@ static long btrfs_ioctl_fs_info(struct btrfs_root *root, void __user *arg)
>   	struct btrfs_device *next;
>   	struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices;
>   	int ret = 0;
> +	int dev_replace_running = 0;
>   
>   	if (!capable(CAP_SYS_ADMIN))
>   		return -EPERM;
> @@ -2518,8 +2519,18 @@ static long btrfs_ioctl_fs_info(struct btrfs_root *root, void __user *arg)
>   	if (!fi_args)
>   		return -ENOMEM;
>   
> +	btrfs_dev_replace_lock(&root->fs_info->dev_replace);
> +	if (btrfs_dev_replace_is_ongoing(&root->fs_info->dev_replace))
> +		dev_replace_running = 1;
> +
> +	btrfs_dev_replace_unlock(&root->fs_info->dev_replace);
> +
>   	mutex_lock(&fs_devices->device_list_mutex);
> -	fi_args->num_devices = fs_devices->num_devices;
> +	if (dev_replace_running)
> +		fi_args->num_devices = fs_devices->total_devices + 1;
> +	else
> +		fi_args->num_devices = fs_devices->total_devices;
> +
>   	memcpy(&fi_args->fsid, root->fs_info->fsid, sizeof(fi_args->fsid));
>   
>   	list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) {


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices
  2014-05-13  9:17   ` Wang Shilong
@ 2014-05-14  8:30     ` Anand Jain
  2014-05-16 14:11       ` Anand Jain
  0 siblings, 1 reply; 7+ messages in thread
From: Anand Jain @ 2014-05-14  8:30 UTC (permalink / raw)
  To: Wang Shilong; +Cc: linux-btrfs


Hello Wang,

  sure will do. Thanks for the comments.

Anand

On 13/05/14 17:17, Wang Shilong wrote:
> Hello Anand,
>
> I agree we can export @total_devices to fix 'btrfs file show' problem.
> This patch addressed two problem, it is better to split it into two
> patches.
>
> Could you please resend the patch, at least we should fix 'btrfs file show'
> problem firstly.
>
> Thanks,
> Wang
>
> On 03/07/2014 11:48 PM, Anand Jain wrote:
>> ioctl(BTRFS_IOC_FS_INFO) returns num_devices which does not
>> count seed device. num_devices is used to calculate
>> the number of slots during the ioctl(BTRFS_IOC_DEV_INFO)
>> but ioctl(BTRFS_IOC_DEV_INFO) would count seed devices as well.
>> Due to this miss match btrfs_progs get_fs_info() hits the bug..
>>              get_fs_info()
>>              ::
>>                      BUG_ON(ndevs >= fi_args->num_devices);
>>
>> what I notice is total_devices should be returned by the
>> ioctl(BTRFS_IOC_FS_INFO)), however total_devices does not
>> count (transient) replacing device but num_devices does.
>>
>> first, num_devices which appears to be a subset of
>> total_devices helps to count the number of devices
>> under a FSID which excludes the seed devices but
>> includes the transient replacing device.
>>
>> total_devices which includes seed devices is as of
>> now does not count the tansient replacing device,
>> which IMO is a bug or the implementation details
>> are not clear enough to state the role of num_devices
>> and total_devices.
>>
>> The user land on the otherhand would want to know
>> all the devices that would come out of probe
>> against a FSID
>>
>> As of now in this patch I am making the ioctl.c local
>> changes (instead of asking replace thread to update
>> total_devices) to  include replacing device.
>>
>> Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
>> ---
>>   fs/btrfs/ioctl.c | 13 ++++++++++++-
>>   1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
>> index 5036f9d..ec7d5c6 100644
>> --- a/fs/btrfs/ioctl.c
>> +++ b/fs/btrfs/ioctl.c
>> @@ -2510,6 +2510,7 @@ static long btrfs_ioctl_fs_info(struct
>> btrfs_root *root, void __user *arg)
>>       struct btrfs_device *next;
>>       struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices;
>>       int ret = 0;
>> +    int dev_replace_running = 0;
>>       if (!capable(CAP_SYS_ADMIN))
>>           return -EPERM;
>> @@ -2518,8 +2519,18 @@ static long btrfs_ioctl_fs_info(struct
>> btrfs_root *root, void __user *arg)
>>       if (!fi_args)
>>           return -ENOMEM;
>> +    btrfs_dev_replace_lock(&root->fs_info->dev_replace);
>> +    if (btrfs_dev_replace_is_ongoing(&root->fs_info->dev_replace))
>> +        dev_replace_running = 1;
>> +
>> +    btrfs_dev_replace_unlock(&root->fs_info->dev_replace);
>> +
>>       mutex_lock(&fs_devices->device_list_mutex);
>> -    fi_args->num_devices = fs_devices->num_devices;
>> +    if (dev_replace_running)
>> +        fi_args->num_devices = fs_devices->total_devices + 1;
>> +    else
>> +        fi_args->num_devices = fs_devices->total_devices;
>> +
>>       memcpy(&fi_args->fsid, root->fs_info->fsid, sizeof(fi_args->fsid));
>>       list_for_each_entry_safe(device, next, &fs_devices->devices,
>> dev_list) {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices
  2014-05-14  8:30     ` Anand Jain
@ 2014-05-16 14:11       ` Anand Jain
  0 siblings, 0 replies; 7+ messages in thread
From: Anand Jain @ 2014-05-16 14:11 UTC (permalink / raw)
  To: Wang Shilong; +Cc: linux-btrfs


Wang,

  After a much of investigation on this, I think I found a
  better approach to fix this. Can you kindly comment on
  patch

[PATCH] btrfs: ioctl BTRFS_IOC_FS_INFO and BTRFS_IOC_DEV_INFO 
miss-matched with slots

  Thanks,
Anand

On 14/05/14 16:30, Anand Jain wrote:
>
> Hello Wang,
>
>   sure will do. Thanks for the comments.
>
> Anand
>
> On 13/05/14 17:17, Wang Shilong wrote:
>> Hello Anand,
>>
>> I agree we can export @total_devices to fix 'btrfs file show' problem.
>> This patch addressed two problem, it is better to split it into two
>> patches.
>>
>> Could you please resend the patch, at least we should fix 'btrfs file
>> show'
>> problem firstly.
>>
>> Thanks,
>> Wang
>>
>> On 03/07/2014 11:48 PM, Anand Jain wrote:
>>> ioctl(BTRFS_IOC_FS_INFO) returns num_devices which does not
>>> count seed device. num_devices is used to calculate
>>> the number of slots during the ioctl(BTRFS_IOC_DEV_INFO)
>>> but ioctl(BTRFS_IOC_DEV_INFO) would count seed devices as well.
>>> Due to this miss match btrfs_progs get_fs_info() hits the bug..
>>>              get_fs_info()
>>>              ::
>>>                      BUG_ON(ndevs >= fi_args->num_devices);
>>>
>>> what I notice is total_devices should be returned by the
>>> ioctl(BTRFS_IOC_FS_INFO)), however total_devices does not
>>> count (transient) replacing device but num_devices does.
>>>
>>> first, num_devices which appears to be a subset of
>>> total_devices helps to count the number of devices
>>> under a FSID which excludes the seed devices but
>>> includes the transient replacing device.
>>>
>>> total_devices which includes seed devices is as of
>>> now does not count the tansient replacing device,
>>> which IMO is a bug or the implementation details
>>> are not clear enough to state the role of num_devices
>>> and total_devices.
>>>
>>> The user land on the otherhand would want to know
>>> all the devices that would come out of probe
>>> against a FSID
>>>
>>> As of now in this patch I am making the ioctl.c local
>>> changes (instead of asking replace thread to update
>>> total_devices) to  include replacing device.
>>>
>>> Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
>>> ---
>>>   fs/btrfs/ioctl.c | 13 ++++++++++++-
>>>   1 file changed, 12 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
>>> index 5036f9d..ec7d5c6 100644
>>> --- a/fs/btrfs/ioctl.c
>>> +++ b/fs/btrfs/ioctl.c
>>> @@ -2510,6 +2510,7 @@ static long btrfs_ioctl_fs_info(struct
>>> btrfs_root *root, void __user *arg)
>>>       struct btrfs_device *next;
>>>       struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices;
>>>       int ret = 0;
>>> +    int dev_replace_running = 0;
>>>       if (!capable(CAP_SYS_ADMIN))
>>>           return -EPERM;
>>> @@ -2518,8 +2519,18 @@ static long btrfs_ioctl_fs_info(struct
>>> btrfs_root *root, void __user *arg)
>>>       if (!fi_args)
>>>           return -ENOMEM;
>>> +    btrfs_dev_replace_lock(&root->fs_info->dev_replace);
>>> +    if (btrfs_dev_replace_is_ongoing(&root->fs_info->dev_replace))
>>> +        dev_replace_running = 1;
>>> +
>>> +    btrfs_dev_replace_unlock(&root->fs_info->dev_replace);
>>> +
>>>       mutex_lock(&fs_devices->device_list_mutex);
>>> -    fi_args->num_devices = fs_devices->num_devices;
>>> +    if (dev_replace_running)
>>> +        fi_args->num_devices = fs_devices->total_devices + 1;
>>> +    else
>>> +        fi_args->num_devices = fs_devices->total_devices;
>>> +
>>>       memcpy(&fi_args->fsid, root->fs_info->fsid,
>>> sizeof(fi_args->fsid));
>>>       list_for_each_entry_safe(device, next, &fs_devices->devices,
>>> dev_list) {
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-05-16 14:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-07 15:48 [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain
2014-03-07 15:48 ` [PATCH 2/3 RFC] btrfs: total_devices should count replacing devices Anand Jain
2014-05-13  9:17   ` Wang Shilong
2014-05-14  8:30     ` Anand Jain
2014-05-16 14:11       ` Anand Jain
2014-03-07 15:48 ` [PATCH 3/3 RFC] btrfs: show_devname should not consider seed disk Anand Jain
2014-03-10  1:58 ` [PATCH 1/3 v2 RFC] btrfs: total_devices vs num_devices Anand Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).