Message ID | 20200414124304.4470-1-eesposit@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Simplefs: group and simplify linux fs code | expand |
On Tue, Apr 14, 2020 at 02:42:54PM +0200, Emanuele Giuseppe Esposito wrote: > This series of patches introduce wrappers for functions, > arguments simplification in functions calls and most importantly > groups duplicated code in a single header, simplefs, to avoid redundancy > in the linux fs, especially debugfs and tracefs. The general goal seems worthy, but here I don't see explained why hasn't this gone through libfs, and what the intention was long term. For instance, you added some other generalizations which you have found. It was not clear that this was the goal here, to expand on these paths. What if common code on fs is found which are not part of debugfs and tracefs, how does one decide if to move to libfs or simplefs? Luis
On 4/16/20 8:59 AM, Luis Chamberlain wrote: > On Tue, Apr 14, 2020 at 02:42:54PM +0200, Emanuele Giuseppe Esposito wrote: >> This series of patches introduce wrappers for functions, >> arguments simplification in functions calls and most importantly >> groups duplicated code in a single header, simplefs, to avoid redundancy >> in the linux fs, especially debugfs and tracefs. > > The general goal seems worthy, but here I don't see explained why hasn't > this gone through libfs, and what the intention was long term. For > instance, you added some other generalizations which you have found. It > was not clear that this was the goal here, to expand on these paths. > > What if common code on fs is found which are not part of debugfs and > tracefs, how does one decide if to move to libfs or simplefs? The idea of simplefs (that I will also explain better in the cover letter and commit messages) is that not only it groups common code, but also introduces a new struct simple_fs that simplifies parameter passing. This means all fs that use these functions and the struct should include linux/simplefs.h, while all common functions that take a simple_fs struct will be added in simplefs.c Thank you for all the feedback, I will incorporate it and send a new patch series soon. Emanuele
This series of patches introduce wrappers for functions, arguments simplification in functions calls and most importantly groups duplicated code in a single header, simplefs, to avoid redundancy in the linux fs, especially debugfs and tracefs. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Emanuele Giuseppe Esposito (8): apparmor: just use vfs_kern_mount to make .null fs: extract simple_pin/release_fs to separate files fs: wrap simple_pin_fs/simple_release_fs arguments in a struct fs: introduce simple_new_inode simplefs: add alloc_anon_inode wrapper simplefs: add file creation functions debugfs: switch to simplefs inode creation API tracefs: switch to simplefs inode creation API arch/powerpc/platforms/cell/spufs/inode.c | 4 +- arch/s390/hypfs/inode.c | 4 +- drivers/gpu/drm/Kconfig | 1 + drivers/gpu/drm/drm_drv.c | 13 +- drivers/infiniband/hw/qib/qib_fs.c | 6 +- drivers/misc/cxl/Kconfig | 1 + drivers/misc/cxl/api.c | 14 +- drivers/misc/ibmasm/ibmasmfs.c | 8 +- drivers/misc/ocxl/Kconfig | 1 + drivers/oprofile/oprofilefs.c | 8 +- drivers/scsi/cxlflash/ocxl_hw.c | 15 +- drivers/usb/gadget/function/f_fs.c | 8 +- fs/Kconfig | 3 + fs/Kconfig.binfmt | 1 + fs/Makefile | 1 + fs/autofs/inode.c | 4 +- fs/binfmt_misc.c | 27 +-- fs/configfs/Kconfig | 1 + fs/configfs/mount.c | 12 +- fs/debugfs/inode.c | 171 +++---------------- fs/efivarfs/inode.c | 4 +- fs/fuse/control.c | 4 +- fs/hugetlbfs/inode.c | 8 +- fs/libfs.c | 48 ++---- fs/ocfs2/dlmfs/dlmfs.c | 8 +- fs/proc/base.c | 4 +- fs/proc/proc_sysctl.c | 5 +- fs/pstore/inode.c | 14 +- fs/ramfs/inode.c | 4 +- fs/simplefs.c | 194 ++++++++++++++++++++++ fs/tracefs/inode.c | 108 ++---------- include/linux/fs.h | 3 +- include/linux/simplefs.h | 36 ++++ ipc/mqueue.c | 4 +- kernel/bpf/inode.c | 7 +- lib/Kconfig.debug | 16 +- mm/shmem.c | 4 +- net/sunrpc/rpc_pipe.c | 4 +- security/Kconfig | 1 + security/apparmor/apparmorfs.c | 48 +++--- security/inode.c | 17 +- 41 files changed, 385 insertions(+), 459 deletions(-) create mode 100644 fs/simplefs.c create mode 100644 include/linux/simplefs.h