Message ID | 20210115111311.31601-1-brgl@bgdev.pl |
---|---|
Headers | show |
Series | configfs: implement committable items and add sample code | expand |
On Fri, Jan 15, 2021 at 12:13 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Committable items in configfs are well defined and documented but unfortunately > so far never implemented. > > The use-case we have over at the GPIO subsystem is using configfs in > conjunction with sysfs to replace our current gpio-mockup testing module > with one that will be much more flexible and will allow complete coverage > of the GPIO uAPI. > > The current gpio-mockup module is controlled using module parameters which > forces the user to reload it everytime they need to change the chip > configuration or layout and makes it difficult to extend its functionality. > > Testing module based on configfs would allow fine-grained control over dummy > GPIO chips but since GPIO devices must be configured before they are > instantiated, we need committable items. > > This implements them and adds code examples to configfs_sample module. The > first two patches are just cosmetic. > > v1 -> v2: > - fix a 'set but not used' build warning reported by kernel test robot > > v2 -> v3: > - use (1UL << bit) instead of BIT() in patch 2/4 > - extend configfs_dump_one() to make it print the new flags > - clear the CONFIGFS_USET_DIR bit on the live group dirent > > v3 -> v4: > - relax the attribute handling for the 'live' group: don't make all attributes > read-only once their group is committed > - don't allow to change the dirent name of committable groups when renaming > > Rebased on top of v5.11-rc3. > > Bartosz Golaszewski (4): > configfs: increase the item name length > configfs: use (1UL << bit) for internal flags > configfs: implement committable items > samples: configfs: add a committable group > > Documentation/filesystems/configfs.rst | 6 +- > fs/configfs/configfs_internal.h | 22 ++- > fs/configfs/dir.c | 244 ++++++++++++++++++++++++- > include/linux/configfs.h | 3 +- > samples/configfs/configfs_sample.c | 153 ++++++++++++++++ > 5 files changed, 408 insertions(+), 20 deletions(-) > > -- > 2.29.1 > Ah cr*p I now noticed Linus W had left his Ack on the previous version and I forgot to collect it... Bart
Joel, if you are fine with this version I think we should let Bartosz pick this up through whatever tree he needs it for. I'd be more comfortable if you ACKed this as you know the original design better than I do.
On Wed, Jan 20, 2021 at 6:00 PM Christoph Hellwig <hch@lst.de> wrote: > > Joel, > > if you are fine with this version I think we should let Bartosz pick > this up through whatever tree he needs it for. I'd be more comfortable > if you ACKed this as you know the original design better than I do. Hi Joel, Gentle ping about this series. Since the user facing interface is mostly agreed upon, I already started working on the module using it - it would be great if we could get it in for v5.12. Best Regards, Bartosz Golaszewski
From: Bartosz Golaszewski <bgolaszewski@baylibre.com> Committable items in configfs are well defined and documented but unfortunately so far never implemented. The use-case we have over at the GPIO subsystem is using configfs in conjunction with sysfs to replace our current gpio-mockup testing module with one that will be much more flexible and will allow complete coverage of the GPIO uAPI. The current gpio-mockup module is controlled using module parameters which forces the user to reload it everytime they need to change the chip configuration or layout and makes it difficult to extend its functionality. Testing module based on configfs would allow fine-grained control over dummy GPIO chips but since GPIO devices must be configured before they are instantiated, we need committable items. This implements them and adds code examples to configfs_sample module. The first two patches are just cosmetic. v1 -> v2: - fix a 'set but not used' build warning reported by kernel test robot v2 -> v3: - use (1UL << bit) instead of BIT() in patch 2/4 - extend configfs_dump_one() to make it print the new flags - clear the CONFIGFS_USET_DIR bit on the live group dirent v3 -> v4: - relax the attribute handling for the 'live' group: don't make all attributes read-only once their group is committed - don't allow to change the dirent name of committable groups when renaming Rebased on top of v5.11-rc3. Bartosz Golaszewski (4): configfs: increase the item name length configfs: use (1UL << bit) for internal flags configfs: implement committable items samples: configfs: add a committable group Documentation/filesystems/configfs.rst | 6 +- fs/configfs/configfs_internal.h | 22 ++- fs/configfs/dir.c | 244 ++++++++++++++++++++++++- include/linux/configfs.h | 3 +- samples/configfs/configfs_sample.c | 153 ++++++++++++++++ 5 files changed, 408 insertions(+), 20 deletions(-)