[RFC PATCHES] Re: Is configfs the right solution for configurationbased fs?

From: Joel Becker
Date: Wed Jun 18 2008 - 23:00:30 EST


On Tue, Jun 10, 2008 at 10:12:52AM +1000, Ben Nizette wrote:
>

Thanks, Ben, for providing constructive comments. I know I
replied later with some of the known issues. Here are some tentative
solutions! (Why now, you ask? I just finished up something and had a
free moment)

> What's the first one, sysfs..? ioctl (eww..)? I do think they solve
> different problems, both have their place. IMHO sysfs is forced to do
> configuration in some situations where it just doesn't fit. Prolly 'coz
> sysfs have the easy __DEVICE_ATTR kinda macros where as configfs takes
> more effort to get flying.
<snip>
> That and a bit of wider use would probably see configfs growing helper
> macros like those which make sysfs attributes a piece of cake to
> implement.

Ask, and ye shall receive. I've actually been meaning to look
at this for a while. Please check out the branch configfs-attr-macros
at my git tree. Actually, here is the configfs.h with macros, and
configfs_example_macros.c using them. Let me know if this fits the
bill.

[config-attr-macros:include/linux/configfs.h]
http://oss.oracle.com/git/jlbec/linux-2.6.git/?p=jlbec/linux-2.6.git;a=blob;f=include/linux/configfs.h;h=8be4507ab98f49f43c5212cbafe62178df9a517b;hb=c085c60b185d7431935397e43a868325d8f1da6c

[config-attr-macros:Documentation/filesystems/configfs/configfs_example_macros.c]
http://oss.oracle.com/git/jlbec/linux-2.6.git/?p=jlbec/linux-2.6.git;a=blob;f=Documentation/filesystems/configfs/configfs_example_macros.c;h=c2ece748abdf30a7d67dd9ea25c5e6ac93fbc005;hb=c085c60b185d7431935397e43a868325d8f1da6c

Compare and contrast with the original configfs_example.c (now
configfs_example_explicit.c on that branch). The diff is available
here:
http://oss.oracle.com/git/jlbec/linux-2.6.git/?p=jlbec/linux-2.6.git;a=commitdiff;h=c085c60b185d7431935397e43a868325d8f1da6c

> And the trival problem that, ISTR, failing the make_group method always
> reports -ENOMEM to userspace, no matter what the actual problem was. I
> think I had a patch around to pass the error code from make_group back
> up through to userspace, I wonder what happened to that...

I've also attacked this one. The change is in the
make-item-errors branch. It's already scheduled for linux-next. Diff
available here:
http://oss.oracle.com/git/jlbec/linux-2.6.git/?p=jlbec/linux-2.6.git;a=commitdiff;h=34fbb494fecfd82bcbf9ed698ef305500228a84c

Joel

--

Life's Little Instruction Book #226

"When someone hugs you, let them be the first to let go."

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@xxxxxxxxxx
Phone: (650) 506-8127
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/