From: Joel Becker <Joel.Becker@oracle.com>
To: linux-kernel@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Greg KH <greg@kroah.com>,
Patrick Mochel <mochel@digitalimplant.org>
Subject: [PATCH] configfs, a filesystem for userspace-driven kernel object configuration
Date: Sun, 3 Apr 2005 12:57:28 -0700 [thread overview]
Message-ID: <20050403195728.GH31163@ca-server1.us.oracle.com> (raw)
Folks,
I humbly submit configfs. With configfs, a configfs
config_item is created via an explicit userspace operation: mkdir(2).
It is destroyed via rmdir(2). The attributes appear at mkdir(2) time,
and can be read or modified via read(2) and write(2). readdir(3)
queries the list of items and/or attributes.
The lifetime of the filesystem representation is completely
driven by userspace. The lifetime of the objects themselves are managed
by a kref, but at rmdir(2) time they disappear from the filesystem.
configfs is not intended to replace sysfs or procfs, merely to
coexist with them.
An interface in /proc where the API is:
# echo "create foo 1 3 0x00013" > /proc/mythingy
or an ioctl(2) interface where the API is:
struct mythingy_create {
char *name;
int index;
int count;
unsigned long address;
}
do_create {
mythingy_create = {"foo", 1, 3, 0x0013};
return ioctl(fd, MYTHINGY_CREATE, &mythingy_create);
}
becomes this in configfs:
# cd /config/mythingy
# mkdir foo
# echo 1 > foo/index
# echo 3 > foo/count
# echo 0x00013 > foo/address
Instead of a binary blob that's passed around or a cryptic
string that has to be formatted just so, configfs provides an interface
that's completely scriptable and navigable.
Patch is against 2.6.12-rc1-bk3.
http://oss.oracle.com/~jlbec/files/configfs/2.6.12-rc1-bk3/configfs-2.6.12-rc1-bk3-1.patch
Joel
--
"Not everything that can be counted counts, and not everything
that counts can be counted."
- Albert Einstein
Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127
next reply other threads:[~2005-04-03 19:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-03 19:57 Joel Becker [this message]
2005-04-03 20:40 ` [PATCH] configfs, a filesystem for userspace-driven kernel object configuration Joel Becker
2005-04-04 17:17 ` Arjan van de Ven
2005-04-05 18:03 ` Zach Brown
2005-04-05 6:41 ` Matt Mackall
2005-04-05 18:16 ` Zach Brown
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=20050403195728.GH31163@ca-server1.us.oracle.com \
--to=joel.becker@oracle.com \
--cc=akpm@osdl.org \
--cc=greg@kroah.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mochel@digitalimplant.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.