diff mbox series

btrfs: sysfs: map sysfs files to their path

Message ID 8a0aac47cbdcc25b7ec861a5d334db1b6add34ae.1628125284.git.anand.jain@oracle.com (mailing list archive)
State New, archived
Headers show
Series btrfs: sysfs: map sysfs files to their path | expand

Commit Message

Anand Jain Aug. 5, 2021, 1:02 a.m. UTC
Sysfs file has grown big. It takes some time to locate the correct
struct attribute to add new files. Create a table and map the
struct attribute to its sysfs path.

Also, fix the comment about the debug sysfs path.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 fs/btrfs/sysfs.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

Comments

David Sterba Aug. 9, 2021, 2:36 p.m. UTC | #1
On Thu, Aug 05, 2021 at 09:02:46AM +0800, Anand Jain wrote:
> Sysfs file has grown big. It takes some time to locate the correct
> struct attribute to add new files. Create a table and map the
> struct attribute to its sysfs path.
> 
> Also, fix the comment about the debug sysfs path.
> 
> Signed-off-by: Anand Jain <anand.jain@oracle.com>
> ---
>  fs/btrfs/sysfs.c | 22 +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
> index bfe5e27617b0..cb00c0c08949 100644
> --- a/fs/btrfs/sysfs.c
> +++ b/fs/btrfs/sysfs.c
> @@ -22,6 +22,26 @@
>  #include "block-group.h"
>  #include "qgroup.h"
>  
> +
> +/*
> + * struct attributes (sysfs files)	sysfs path
> + * --------------------------------------------------------------------------
> + * btrfs_supported_static_feature_attrs /sys/fs/btrfs/features
> + * btrfs_supported_feature_attrs        /sys/fs/btrfs/features and
> + *					/sys/fs/btrfs/uuid/features (if visible)
> + * btrfs_debug_feature_attrs		/sys/fs/btrfs/debug
> + * btrfs_debug_mount_attrs		/sys/fs/btrfs/<uuid>/debug
> + * discard_debug_attrs			/sys/fs/btrfs/<uuid>/debug/discard
> + * btrfs_attrs				/sys/fs/btrfs/<uuid>
> + * devid_attrs				/sys/fs/btrfs/<uuid>/devinfo/<devid>
> + * allocation_attrs			/sys/fs/btrfs/<uuid>/allocation
> + * qgroup_attrs				/sys/fs/btrfs/<uuid>/qgroups/<subvol-id>/
> + * space_info_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>
> + * raid_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>/<bg-profile>
> + */

I think this would be better next to the definitions, so you don't have
to repeat the identifier name and it's at the same location once we need
to add more attributes.
Anand Jain Aug. 10, 2021, 12:34 a.m. UTC | #2
On 09/08/2021 22:36, David Sterba wrote:
> On Thu, Aug 05, 2021 at 09:02:46AM +0800, Anand Jain wrote:
>> Sysfs file has grown big. It takes some time to locate the correct
>> struct attribute to add new files. Create a table and map the
>> struct attribute to its sysfs path.
>>
>> Also, fix the comment about the debug sysfs path.
>>
>> Signed-off-by: Anand Jain <anand.jain@oracle.com>
>> ---
>>   fs/btrfs/sysfs.c | 22 +++++++++++++++++++++-
>>   1 file changed, 21 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
>> index bfe5e27617b0..cb00c0c08949 100644
>> --- a/fs/btrfs/sysfs.c
>> +++ b/fs/btrfs/sysfs.c
>> @@ -22,6 +22,26 @@
>>   #include "block-group.h"
>>   #include "qgroup.h"
>>   
>> +
>> +/*
>> + * struct attributes (sysfs files)	sysfs path
>> + * --------------------------------------------------------------------------
>> + * btrfs_supported_static_feature_attrs /sys/fs/btrfs/features
>> + * btrfs_supported_feature_attrs        /sys/fs/btrfs/features and
>> + *					/sys/fs/btrfs/uuid/features (if visible)
>> + * btrfs_debug_feature_attrs		/sys/fs/btrfs/debug
>> + * btrfs_debug_mount_attrs		/sys/fs/btrfs/<uuid>/debug
>> + * discard_debug_attrs			/sys/fs/btrfs/<uuid>/debug/discard
>> + * btrfs_attrs				/sys/fs/btrfs/<uuid>
>> + * devid_attrs				/sys/fs/btrfs/<uuid>/devinfo/<devid>
>> + * allocation_attrs			/sys/fs/btrfs/<uuid>/allocation
>> + * qgroup_attrs				/sys/fs/btrfs/<uuid>/qgroups/<subvol-id>/
>> + * space_info_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>
>> + * raid_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>/<bg-profile>
>> + */
> 
> I think this would be better next to the definitions, so you don't have
> to repeat the identifier name and it's at the same location once we need
> to add more attributes.
> 


  I was thinking to add to both. That is, create a table and also add it 
to the definitions.

  The table provides a big picture and easy to locate the name of the 
attributes list. No?
David Sterba Aug. 10, 2021, 9:48 a.m. UTC | #3
On Tue, Aug 10, 2021 at 08:34:33AM +0800, Anand Jain wrote:
> 
> 
> On 09/08/2021 22:36, David Sterba wrote:
> > On Thu, Aug 05, 2021 at 09:02:46AM +0800, Anand Jain wrote:
> >> Sysfs file has grown big. It takes some time to locate the correct
> >> struct attribute to add new files. Create a table and map the
> >> struct attribute to its sysfs path.
> >>
> >> Also, fix the comment about the debug sysfs path.
> >>
> >> Signed-off-by: Anand Jain <anand.jain@oracle.com>
> >> ---
> >>   fs/btrfs/sysfs.c | 22 +++++++++++++++++++++-
> >>   1 file changed, 21 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
> >> index bfe5e27617b0..cb00c0c08949 100644
> >> --- a/fs/btrfs/sysfs.c
> >> +++ b/fs/btrfs/sysfs.c
> >> @@ -22,6 +22,26 @@
> >>   #include "block-group.h"
> >>   #include "qgroup.h"
> >>   
> >> +
> >> +/*
> >> + * struct attributes (sysfs files)	sysfs path
> >> + * --------------------------------------------------------------------------
> >> + * btrfs_supported_static_feature_attrs /sys/fs/btrfs/features
> >> + * btrfs_supported_feature_attrs        /sys/fs/btrfs/features and
> >> + *					/sys/fs/btrfs/uuid/features (if visible)
> >> + * btrfs_debug_feature_attrs		/sys/fs/btrfs/debug
> >> + * btrfs_debug_mount_attrs		/sys/fs/btrfs/<uuid>/debug
> >> + * discard_debug_attrs			/sys/fs/btrfs/<uuid>/debug/discard
> >> + * btrfs_attrs				/sys/fs/btrfs/<uuid>
> >> + * devid_attrs				/sys/fs/btrfs/<uuid>/devinfo/<devid>
> >> + * allocation_attrs			/sys/fs/btrfs/<uuid>/allocation
> >> + * qgroup_attrs				/sys/fs/btrfs/<uuid>/qgroups/<subvol-id>/
> >> + * space_info_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>
> >> + * raid_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>/<bg-profile>
> >> + */
> > 
> > I think this would be better next to the definitions, so you don't have
> > to repeat the identifier name and it's at the same location once we need
> > to add more attributes.
> > 
> 
> 
>   I was thinking to add to both. That is, create a table and also add it 
> to the definitions.
> 
>   The table provides a big picture and easy to locate the name of the 
> attributes list. No?

Yes, makes sense to have both.
diff mbox series

Patch

diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index bfe5e27617b0..cb00c0c08949 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -22,6 +22,26 @@ 
 #include "block-group.h"
 #include "qgroup.h"
 
+
+/*
+ * struct attributes (sysfs files)	sysfs path
+ * --------------------------------------------------------------------------
+ * btrfs_supported_static_feature_attrs /sys/fs/btrfs/features
+ * btrfs_supported_feature_attrs        /sys/fs/btrfs/features and
+ *					/sys/fs/btrfs/uuid/features (if visible)
+ * btrfs_debug_feature_attrs		/sys/fs/btrfs/debug
+ * btrfs_debug_mount_attrs		/sys/fs/btrfs/<uuid>/debug
+ * discard_debug_attrs			/sys/fs/btrfs/<uuid>/debug/discard
+ * btrfs_attrs				/sys/fs/btrfs/<uuid>
+ * devid_attrs				/sys/fs/btrfs/<uuid>/devinfo/<devid>
+ * allocation_attrs			/sys/fs/btrfs/<uuid>/allocation
+ * qgroup_attrs				/sys/fs/btrfs/<uuid>/qgroups/<subvol-id>/
+ * space_info_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>
+ * raid_attrs		/sys/fs/btrfs/<uuid>/allocation/<bg-type>/<bg-profile>
+ */
+
+
+
 struct btrfs_feature_attr {
 	struct kobj_attribute kobj_attr;
 	enum btrfs_feature_set feature_set;
@@ -573,7 +593,7 @@  static const struct attribute *discard_debug_attrs[] = {
  * Runtime debugging exported via sysfs
  *
  * /sys/fs/btrfs/debug - applies to module or all filesystems
- * /sys/fs/btrfs/UUID  - applies only to the given filesystem
+ * /sys/fs/btrfs/UUID/debug - applies only to the given filesystem
  */
 static const struct attribute *btrfs_debug_mount_attrs[] = {
 	NULL,