Greg Kroah-Hartman
2020-Apr-14 12:56 UTC
[Ocfs2-devel] [PATCH 6/8] simplefs: add file creation functions
On Tue, Apr 14, 2020 at 02:43:00PM +0200, Emanuele Giuseppe Esposito wrote:> A bunch of code is duplicated between debugfs and tracefs, unify it to the > simplefs library. > > The code is very similar, except that dentry and inode creation are unified > into a single function (unlike start_creating in debugfs and tracefs, which > only takes care of dentries). This adds an output parameter to the creation > functions, but pushes all error recovery into fs/simplefs.c. > > Signed-off-by: Emanuele Giuseppe Esposito <eesposit at redhat.com> > --- > fs/simplefs.c | 150 +++++++++++++++++++++++++++++++++++++++ > include/linux/simplefs.h | 19 +++++ > 2 files changed, 169 insertions(+)What's wrong with libfs, isn't that supposed to be for these types of "common" filesystem interactions? Why create a whole "new" fs for this? thanks, greg k-h
Emanuele Giuseppe Esposito
2020-Apr-20 13:57 UTC
[Ocfs2-devel] [PATCH 6/8] simplefs: add file creation functions
On 4/14/20 2:56 PM, Greg Kroah-Hartman wrote:> On Tue, Apr 14, 2020 at 02:43:00PM +0200, Emanuele Giuseppe Esposito wrote: >> A bunch of code is duplicated between debugfs and tracefs, unify it to the >> simplefs library. >> >> The code is very similar, except that dentry and inode creation are unified >> into a single function (unlike start_creating in debugfs and tracefs, which >> only takes care of dentries). This adds an output parameter to the creation >> functions, but pushes all error recovery into fs/simplefs.c. >> >> Signed-off-by: Emanuele Giuseppe Esposito <eesposit at redhat.com> >> --- >> fs/simplefs.c | 150 +++++++++++++++++++++++++++++++++++++++ >> include/linux/simplefs.h | 19 +++++ >> 2 files changed, 169 insertions(+) > > What's wrong with libfs, isn't that supposed to be for these types of > "common" filesystem interactions? > > Why create a whole "new" fs for this?I assume you meant a new file. These new functions are used only by a few filesystems, and I didn't want to include them in vmlinux unconditionally, so I introduced simplefs.c and CONFIG_SIMPLEFS instead of extending libfs.c. In this way only fs that need this code like debugfs and tracefs will load it. Thank you, Emanuele