From: jack@suse.cz (Jan Kara)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Linux filesystem configuration infrastructure
Date: Mon, 4 Aug 2014 17:00:56 +0200 [thread overview]
Message-ID: <20140804150056.GD25770@quack.suse.cz> (raw)
In-Reply-To: <CAMSEaH6MtHVX35i34a3jjNtxSYT=jQ0X+fJ-T5-AHd6xfWwO=Q@mail.gmail.com>
Hello,
On Mon 04-08-14 10:20:35, Sankar P wrote:
> I have a simple filesystem that I did for learning purpose
> https://github.com/psankar/simplefs
>
> Now, I would like to add a few settings to my filesystem (such as the
> number of blocks that should be allocated in an extent by default,
> maximum fragmentation score after which defrag should be automatically
> handled etc.) I would like to have the ability to not just set these
> settings, but export them to a file and restore these settings later.
> Is there some kind of a settings infrastructure code that is available
> in the linux kernel or should I be developing something specific to my
> filesystem ?
>
> I would also like to have some kind of validation system also as part
> of the settings interface. For example: If a setting can accept only
> ints, trying to set a string to that should be disabled, min and max
> values (range) for values of settings, etc.
>
> I googled and found that sysctl interface and the sysfs interfaces
> seem to be doing something similar. But I was not sure which to pick
> as the wikipedia pages were not as elaborate as I would like.
>
> So my question is: Is there a settings infrastructure provided by the
> linux kernel and is any filesystem (or any other kernel components)
> that make use of such a settings infrastrucutre ?
Yes, sysfs or debugfs is the right interface. You can have a look at e.g.
ext4 which handles quite some sysfs attributes in fs/ext4/super.c (look at
ext4_ktype and structures and functions referenced from there).
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: Sankar P <sankar.curiosity@gmail.com>
Cc: kernelnewbies <Kernelnewbies@kernelnewbies.org>,
linux-fsdevel@vger.kernel.org
Subject: Re: Linux filesystem configuration infrastructure
Date: Mon, 4 Aug 2014 17:00:56 +0200 [thread overview]
Message-ID: <20140804150056.GD25770@quack.suse.cz> (raw)
In-Reply-To: <CAMSEaH6MtHVX35i34a3jjNtxSYT=jQ0X+fJ-T5-AHd6xfWwO=Q@mail.gmail.com>
Hello,
On Mon 04-08-14 10:20:35, Sankar P wrote:
> I have a simple filesystem that I did for learning purpose
> https://github.com/psankar/simplefs
>
> Now, I would like to add a few settings to my filesystem (such as the
> number of blocks that should be allocated in an extent by default,
> maximum fragmentation score after which defrag should be automatically
> handled etc.) I would like to have the ability to not just set these
> settings, but export them to a file and restore these settings later.
> Is there some kind of a settings infrastructure code that is available
> in the linux kernel or should I be developing something specific to my
> filesystem ?
>
> I would also like to have some kind of validation system also as part
> of the settings interface. For example: If a setting can accept only
> ints, trying to set a string to that should be disabled, min and max
> values (range) for values of settings, etc.
>
> I googled and found that sysctl interface and the sysfs interfaces
> seem to be doing something similar. But I was not sure which to pick
> as the wikipedia pages were not as elaborate as I would like.
>
> So my question is: Is there a settings infrastructure provided by the
> linux kernel and is any filesystem (or any other kernel components)
> that make use of such a settings infrastrucutre ?
Yes, sysfs or debugfs is the right interface. You can have a look at e.g.
ext4 which handles quite some sysfs attributes in fs/ext4/super.c (look at
ext4_ktype and structures and functions referenced from there).
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
next prev parent reply other threads:[~2014-08-04 15:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-04 4:50 Linux filesystem configuration infrastructure Sankar P
2014-08-04 4:50 ` Sankar P
2014-08-04 5:21 ` Greg KH
2014-08-04 5:21 ` Greg KH
2014-08-04 15:00 ` Jan Kara [this message]
2014-08-04 15:00 ` Jan Kara
2014-08-04 15:15 ` Valdis.Kletnieks at vt.edu
2014-08-04 15:15 ` Valdis.Kletnieks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140804150056.GD25770@quack.suse.cz \
--to=jack@suse.cz \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.