[PATCH 23/23] configfs: remove old API

2015-10-03 Thread Christoph Hellwig
Remove the old show_attribute and store_attribute methods and update
the documentation.  Also replace the two C samples with a single new
one in the proper samples directory where people expect to find it.

Signed-off-by: Christoph Hellwig 
---
 Documentation/filesystems/Makefile |   2 -
 Documentation/filesystems/configfs/Makefile|   3 -
 Documentation/filesystems/configfs/configfs.txt|  38 +-
 .../configfs/configfs_example_explicit.c   | 483 -
 .../filesystems/configfs/configfs_example_macros.c | 446 ---
 fs/configfs/file.c |  15 +-
 include/linux/configfs.h   |  82 
 samples/Kconfig|   6 +
 samples/Makefile   |   3 +-
 samples/configfs/Makefile  |   2 +
 samples/configfs/configfs_sample.c | 404 +
 11 files changed, 428 insertions(+), 1056 deletions(-)
 delete mode 100644 Documentation/filesystems/configfs/Makefile
 delete mode 100644 
Documentation/filesystems/configfs/configfs_example_explicit.c
 delete mode 100644 Documentation/filesystems/configfs/configfs_example_macros.c
 create mode 100644 samples/configfs/Makefile
 create mode 100644 samples/configfs/configfs_sample.c

diff --git a/Documentation/filesystems/Makefile 
b/Documentation/filesystems/Makefile
index 13483d1..883010c 100644
--- a/Documentation/filesystems/Makefile
+++ b/Documentation/filesystems/Makefile
@@ -1,5 +1,3 @@
-subdir-y := configfs
-
 # List of programs to build
 hostprogs-y := dnotify_test
 
diff --git a/Documentation/filesystems/configfs/Makefile 
b/Documentation/filesystems/configfs/Makefile
deleted file mode 100644
index be7ec5e..000
--- a/Documentation/filesystems/configfs/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifneq ($(CONFIG_CONFIGFS_FS),)
-obj-m += configfs_example_explicit.o configfs_example_macros.o
-endif
diff --git a/Documentation/filesystems/configfs/configfs.txt 
b/Documentation/filesystems/configfs/configfs.txt
index b40fec9..af68efd 100644
--- a/Documentation/filesystems/configfs/configfs.txt
+++ b/Documentation/filesystems/configfs/configfs.txt
@@ -160,12 +160,6 @@ among other things.  For that, it needs a type.
 
struct configfs_item_operations {
void (*release)(struct config_item *);
-   ssize_t (*show_attribute)(struct config_item *,
- struct configfs_attribute *,
- char *);
-   ssize_t (*store_attribute)(struct config_item *,
-  struct configfs_attribute *,
-  const char *, size_t);
int (*allow_link)(struct config_item *src,
  struct config_item *target);
int (*drop_link)(struct config_item *src,
@@ -183,9 +177,7 @@ The most basic function of a config_item_type is to define 
what
 operations can be performed on a config_item.  All items that have been
 allocated dynamically will need to provide the ct_item_ops->release()
 method.  This method is called when the config_item's reference count
-reaches zero.  Items that wish to display an attribute need to provide
-the ct_item_ops->show_attribute() method.  Similarly, storing a new
-attribute value uses the store_attribute() method.
+reaches zero.
 
 [struct configfs_attribute]
 
@@ -193,6 +185,8 @@ attribute value uses the store_attribute() method.
char*ca_name;
struct module   *ca_owner;
umode_t  ca_mode;
+   ssize_t (*show)(struct config_item *, char *);
+   ssize_t (*store)(struct config_item *, const char *, size_t);
};
 
 When a config_item wants an attribute to appear as a file in the item's
@@ -202,10 +196,10 @@ config_item_type->ct_attrs.  When the item appears in 
configfs, the
 attribute file will appear with the configfs_attribute->ca_name
 filename.  configfs_attribute->ca_mode specifies the file permissions.
 
-If an attribute is readable and the config_item provides a
-ct_item_ops->show_attribute() method, that method will be called
-whenever userspace asks for a read(2) on the attribute.  The converse
-will happen for write(2).
+If an attribute is readable and provides a ->show method, that method will
+be called whenever userspace asks for a read(2) on the attribute.  If an
+attribute is writable and provides a ->store  method, that method will be
+be called whenever userspace asks for a write(2) on the attribute.
 
 [struct config_group]
 
@@ -311,20 +305,10 @@ the subsystem must be ready for it.
 [An Example]
 
 The best example of these basic concepts is the simple_children
-subsystem/group and the simple_child item in configfs_example_explicit.c
-and configfs_example_macros.c.  It 

Re: [PATCH 23/23] configfs: remove old API

2015-09-28 Thread Andrzej Pietrasiewicz

Hi Christoph,

Please see inline.

W dniu 25.09.2015 o 15:50, Christoph Hellwig pisze:

Remove the old show_attribute and store_attribute methods and update
the documentation.  Also replace the two C samples with a single new
one in the proper samples directory where people expect to find it.

Signed-off-by: Christoph Hellwig 
---
  Documentation/filesystems/Makefile |   2 -
  Documentation/filesystems/configfs/Makefile|   3 -
  Documentation/filesystems/configfs/configfs.txt|  43 +-
  .../configfs/configfs_example_explicit.c   | 483 -
  .../filesystems/configfs/configfs_example_macros.c | 446 ---
  fs/configfs/file.c |  15 +-
  include/linux/configfs.h   |  82 
  samples/Makefile   |   3 +-
  samples/configfs/Makefile  |   2 +
  samples/configfs/configfs_sample.c | 404 +
  10 files changed, 427 insertions(+), 1056 deletions(-)
  delete mode 100644 Documentation/filesystems/configfs/Makefile
  delete mode 100644 
Documentation/filesystems/configfs/configfs_example_explicit.c
  delete mode 100644 
Documentation/filesystems/configfs/configfs_example_macros.c
  create mode 100644 samples/configfs/Makefile
  create mode 100644 samples/configfs/configfs_sample.c

diff --git a/Documentation/filesystems/Makefile 
b/Documentation/filesystems/Makefile
index 13483d1..883010c 100644
--- a/Documentation/filesystems/Makefile
+++ b/Documentation/filesystems/Makefile
@@ -1,5 +1,3 @@
-subdir-y := configfs
-
  # List of programs to build
  hostprogs-y := dnotify_test

diff --git a/Documentation/filesystems/configfs/Makefile 
b/Documentation/filesystems/configfs/Makefile
deleted file mode 100644
index be7ec5e..000
--- a/Documentation/filesystems/configfs/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifneq ($(CONFIG_CONFIGFS_FS),)
-obj-m += configfs_example_explicit.o configfs_example_macros.o
-endif
diff --git a/Documentation/filesystems/configfs/configfs.txt 
b/Documentation/filesystems/configfs/configfs.txt
index b40fec9..f51d04f 100644
--- a/Documentation/filesystems/configfs/configfs.txt
+++ b/Documentation/filesystems/configfs/configfs.txt
@@ -160,12 +160,6 @@ among other things.  For that, it needs a type.

struct configfs_item_operations {
void (*release)(struct config_item *);
-   ssize_t (*show_attribute)(struct config_item *,
- struct configfs_attribute *,
- char *);
-   ssize_t (*store_attribute)(struct config_item *,
-  struct configfs_attribute *,
-  const char *, size_t);
int (*allow_link)(struct config_item *src,
  struct config_item *target);
int (*drop_link)(struct config_item *src,
@@ -183,9 +177,7 @@ The most basic function of a config_item_type is to define 
what
  operations can be performed on a config_item.  All items that have been
  allocated dynamically will need to provide the ct_item_ops->release()
  method.  This method is called when the config_item's reference count
-reaches zero.  Items that wish to display an attribute need to provide
-the ct_item_ops->show_attribute() method.  Similarly, storing a new
-attribute value uses the store_attribute() method.
+reaches zero.

  [struct configfs_attribute]

@@ -193,6 +185,8 @@ attribute value uses the store_attribute() method.
char*ca_name;
struct module   *ca_owner;
umode_t  ca_mode;
+   ssize_t (*show)(struct config_item *, char *);
+   ssize_t (*store)(struct config_item *, const char *, size_t);
};

  When a config_item wants an attribute to appear as a file in the item's
@@ -202,10 +196,15 @@ config_item_type->ct_attrs.  When the item appears in 
configfs, the
  attribute file will appear with the configfs_attribute->ca_name
  filename.  configfs_attribute->ca_mode specifies the file permissions.

-If an attribute is readable and the config_item provides a
-ct_item_ops->show_attribute() method, that method will be called
-whenever userspace asks for a read(2) on the attribute.  The converse
-will happen for write(2).
+Items that wish to display an attribute need to provide
+the ct_item_ops->show_attribute() method.  Similarly, storing a new
+attribute value uses the store_attribute() method.
+
+


Haven't you just removed show_attribute() and store_attribute() from
configfs_item_operations?



+If an attribute is readable and provides a ->show method, that method will
+be called whenever userspace asks for a read(2) on the attribute.  If an
+attribute is writable and provides a ->store  method, that method will be
+be called 

Re: [PATCH 23/23] configfs: remove old API

2015-09-28 Thread Christoph Hellwig
> Haven't you just removed show_attribute() and store_attribute() from
> configfs_item_operations?

Oops, looks like the old text manage to slip back in.  I'll fix it up.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 23/23] configfs: remove old API

2015-09-25 Thread Christoph Hellwig
Remove the old show_attribute and store_attribute methods and update
the documentation.  Also replace the two C samples with a single new
one in the proper samples directory where people expect to find it.

Signed-off-by: Christoph Hellwig 
---
 Documentation/filesystems/Makefile |   2 -
 Documentation/filesystems/configfs/Makefile|   3 -
 Documentation/filesystems/configfs/configfs.txt|  43 +-
 .../configfs/configfs_example_explicit.c   | 483 -
 .../filesystems/configfs/configfs_example_macros.c | 446 ---
 fs/configfs/file.c |  15 +-
 include/linux/configfs.h   |  82 
 samples/Makefile   |   3 +-
 samples/configfs/Makefile  |   2 +
 samples/configfs/configfs_sample.c | 404 +
 10 files changed, 427 insertions(+), 1056 deletions(-)
 delete mode 100644 Documentation/filesystems/configfs/Makefile
 delete mode 100644 
Documentation/filesystems/configfs/configfs_example_explicit.c
 delete mode 100644 Documentation/filesystems/configfs/configfs_example_macros.c
 create mode 100644 samples/configfs/Makefile
 create mode 100644 samples/configfs/configfs_sample.c

diff --git a/Documentation/filesystems/Makefile 
b/Documentation/filesystems/Makefile
index 13483d1..883010c 100644
--- a/Documentation/filesystems/Makefile
+++ b/Documentation/filesystems/Makefile
@@ -1,5 +1,3 @@
-subdir-y := configfs
-
 # List of programs to build
 hostprogs-y := dnotify_test
 
diff --git a/Documentation/filesystems/configfs/Makefile 
b/Documentation/filesystems/configfs/Makefile
deleted file mode 100644
index be7ec5e..000
--- a/Documentation/filesystems/configfs/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifneq ($(CONFIG_CONFIGFS_FS),)
-obj-m += configfs_example_explicit.o configfs_example_macros.o
-endif
diff --git a/Documentation/filesystems/configfs/configfs.txt 
b/Documentation/filesystems/configfs/configfs.txt
index b40fec9..f51d04f 100644
--- a/Documentation/filesystems/configfs/configfs.txt
+++ b/Documentation/filesystems/configfs/configfs.txt
@@ -160,12 +160,6 @@ among other things.  For that, it needs a type.
 
struct configfs_item_operations {
void (*release)(struct config_item *);
-   ssize_t (*show_attribute)(struct config_item *,
- struct configfs_attribute *,
- char *);
-   ssize_t (*store_attribute)(struct config_item *,
-  struct configfs_attribute *,
-  const char *, size_t);
int (*allow_link)(struct config_item *src,
  struct config_item *target);
int (*drop_link)(struct config_item *src,
@@ -183,9 +177,7 @@ The most basic function of a config_item_type is to define 
what
 operations can be performed on a config_item.  All items that have been
 allocated dynamically will need to provide the ct_item_ops->release()
 method.  This method is called when the config_item's reference count
-reaches zero.  Items that wish to display an attribute need to provide
-the ct_item_ops->show_attribute() method.  Similarly, storing a new
-attribute value uses the store_attribute() method.
+reaches zero.
 
 [struct configfs_attribute]
 
@@ -193,6 +185,8 @@ attribute value uses the store_attribute() method.
char*ca_name;
struct module   *ca_owner;
umode_t  ca_mode;
+   ssize_t (*show)(struct config_item *, char *);
+   ssize_t (*store)(struct config_item *, const char *, size_t);
};
 
 When a config_item wants an attribute to appear as a file in the item's
@@ -202,10 +196,15 @@ config_item_type->ct_attrs.  When the item appears in 
configfs, the
 attribute file will appear with the configfs_attribute->ca_name
 filename.  configfs_attribute->ca_mode specifies the file permissions.
 
-If an attribute is readable and the config_item provides a
-ct_item_ops->show_attribute() method, that method will be called
-whenever userspace asks for a read(2) on the attribute.  The converse
-will happen for write(2).
+Items that wish to display an attribute need to provide
+the ct_item_ops->show_attribute() method.  Similarly, storing a new
+attribute value uses the store_attribute() method.
+
+
+If an attribute is readable and provides a ->show method, that method will
+be called whenever userspace asks for a read(2) on the attribute.  If an
+attribute is writable and provides a ->store  method, that method will be
+be called whenever userspace asks for a write(2) on the attribute.
 
 [struct config_group]
 
@@ -311,20 +310,10 @@ the subsystem must be ready for it.
 [An Example]
 
 The best example of these basic concepts is the