linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joel Becker <Joel.Becker@oracle.com>
To: "Luis R. Rodriguez" <mcgrof@gmail.com>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	linux kernel <linux-kernel@vger.kernel.org>,
	Greg KH <greg@kroah.com>, Satyam Sharma <ssatyam@cse.iitk.ac.in>,
	Felix Fietkau <nbd@openwrt.org>, Al Viro <viro@ftp.linux.org.uk>,
	"H. Peter Anvin" <hpa@kernel.org>
Subject: Re: Is configfs the right solution for configuration based fs?
Date: Wed, 11 Jun 2008 02:04:08 -0700	[thread overview]
Message-ID: <20080611090407.GA17466@mail.oracle.com> (raw)
In-Reply-To: <20080609022821.GL29740@mail.oracle.com>

On Sun, Jun 08, 2008 at 07:28:21PM -0700, Joel Becker wrote:
> On Sun, Jun 08, 2008 at 02:25:36PM -0700, Luis R. Rodriguez wrote:
> > I was really interested in looking to start a filesystem based
> > approach for configuration of wireless a while back, an alternative to
> > nl80211 if you will, but I stopped after I was told about some major
> > issues with configfs. I forget the issues raised clearly so I'd like
> 
> 	I'd love to hear about the issues as well. 

	Here's a list of "known" issues I hear about with configfs.
These are requests/complaints/etc I have gotten since it was merged.

1) configfs should be sysfs

	The argument is that sysfs should somehow support the
user-directed mkdir(2)/rmdir(2) lifecycle of configfs in addition to its
usual functions.  This, unfortunately, doesn't work.  I sent a pretty
detailed discussion of this to lkml the last time it came up, but here's
a short summary.  Number one, I tried this first.  It got ugly fast.
Number two, a goal of configfs is a simpler lifecycle than sysfs
(understanding the lifetimes of config items).  Adding an additional
mode to the already complicated lifecycle of kobjects directly opposes
this

2) There needs to be a way to pin a config item

	configfs's ->drop_item() operation returns void - if it is
called, your item must deactivate.  This is in line with configfs'
user-directed paradigm.  However, sometimes another kernel subsystem is
depending on that item - it will crash if the item goes away.
	After getting this beaten over my head a few times by good
friends, I realized they were right.  configfs now has
configfs_depend_item() to allow subsystems to pin config items when
necessary.

3) configfs should support large attributes

	A configfs attribute can be a maximum of 4k in size.  This fits
the simple show/store methods cribbed from sysfs.  However, more than
one person has given a good reason for larger attributes, often lists of
things.
	This isn't implemented yet, because I haven't come up with a
good way to do it.  seq_file works pretty well for the show side, but
there is no seq_write() to match on the store side.  I'd love to come up
with a sane semantic and make it work.  Consider it a TODO.

Finally, this thread has presented 
4) easier definition of items, perhaps with macros like DEFINE_ATTR

	I think I have a __CONFIGFS_ATTR() macro, but it's nowhere near
as nice as what sysfs has.  This definitely could use some work, making
configfs easier to use.

	That's what I have.  I don't know if any of these issues were
what you were worried about, Luis.

Joel

-- 

"In the long run...we'll all be dead."
                                        -Unknown

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127

  reply	other threads:[~2008-06-11  9:15 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-08 21:25 Is configfs the right solution for configuration based fs? Luis R. Rodriguez
2008-06-09  2:28 ` Joel Becker
2008-06-11  9:04   ` Joel Becker [this message]
2008-06-09  9:03 ` Johannes Berg
2008-06-10  0:12   ` Ben Nizette
2008-06-10  8:01     ` Johannes Berg
2008-06-10  8:12       ` Luis R. Rodriguez
2008-06-10 22:12       ` Ben Nizette
2008-06-19  2:48     ` [RFC PATCHES] " Joel Becker
2008-06-20  6:19       ` Ben Nizette
2008-06-20  6:52         ` Joel Becker
2008-06-20  9:22           ` Ben Nizette
2008-06-20 21:37             ` Joel Becker
2008-06-21  1:03               ` Ben Nizette
2008-06-21  2:02                 ` Joel Becker
2008-06-21  8:03                   ` Ben Nizette
2008-06-21  8:44                     ` Joel Becker
2008-06-21 11:44                       ` Ben Nizette

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=20080611090407.GA17466@mail.oracle.com \
    --to=joel.becker@oracle.com \
    --cc=greg@kroah.com \
    --cc=hpa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@gmail.com \
    --cc=nbd@openwrt.org \
    --cc=ssatyam@cse.iitk.ac.in \
    --cc=viro@ftp.linux.org.uk \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).