public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joel Becker <Joel.Becker@oracle.com>
To: Andrew Morton <akpm@osdl.org>,
	phillips@istop.com, linux-kernel@vger.kernel.org, greg@kroah.com
Subject: Re: [RFC][PATCH 1 of 4] Configfs is really sysfs
Date: Sat, 3 Sep 2005 21:12:24 -0700	[thread overview]
Message-ID: <20050904041224.GP8684@ca-server1.us.oracle.com> (raw)
In-Reply-To: <20050904035341.GO8684@ca-server1.us.oracle.com>

On Tue, Aug 30, 2005 at 04:28:46PM -0700, Andrew Morton wrote:
> Sure, but all that copying-and-pasting really sucks.  I'm sure there's some
> way of providing the slightly different semantics from the same codebase?

	What about the backing store?  Specifically, sysfs_dirent vs
configfs_dirent.
	The structures are almost identical.  What's different?
configfs has a list of symlinks, as these are hard linkages and involve
pinning and reference counting.  So, to merge the structures, you have
to add two pointers (a list_head) to every sysfs object.
	Allocating, initializing, and freeing them really does appear to
be virtually identical.  The functions that call the creation are very
different, but they could call the same thing.  There are more types of
things in configfs, so all shared calls would have to be able to handle
them.
	Oh, but the get_name() functions, the one that return the string
name of a _dirent, are very different.  So you'd have to add another
pointer to the structure, a ->get_name() callback.  That's an additional
pointer for every sysfs object.
	The attach_attr() functions are different.  Some of that is the
BIN_ATTR type of sysfs, which configfs doesn't and shouldn't have.  In
that case, the code still works, as BIN_ATTR test wouldn't succeed.
They configure dentry_ops, which are different in sysfs and configfs.
So the API would have to change to specify the appropriate dentry_ops.
	This is certainly not insurmountable.  I don't know what you'd
call it, fs/libfs/backing_store.c?  I'm interested in what the sysfs
folks have to say on this, and how much they'd like to help.

Joel

-- 

A good programming language should have features that make the
kind of people who use the phrase "software engineering" shake
their heads disapprovingly.
	- Paul Graham

Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127

  reply	other threads:[~2005-09-04  4:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-30 22:54 [RFC][PATCH 1 of 4] Configfs is really sysfs Daniel Phillips
2005-08-30 22:57 ` [RFC][PATCH 2 " Daniel Phillips
2005-08-30 22:59   ` [RFC][PATCH 3 " Daniel Phillips
2005-08-30 23:03     ` [RFC][PATCH 4 " Daniel Phillips
2005-08-30 23:30       ` Daniel Phillips
2005-08-30 23:06     ` [RFC][PATCH 3 " Stephen Hemminger
2005-08-30 23:18       ` Daniel Phillips
2005-08-30 23:10     ` Daniel Phillips
2005-08-30 23:22   ` [RFC][PATCH 2 " Daniel Phillips
2005-08-30 23:13 ` [RFC][PATCH 1 " Joel Becker
2005-08-30 23:25   ` Daniel Phillips
2005-08-30 23:35     ` Daniel Phillips
2005-08-30 23:28   ` Andrew Morton
2005-08-30 23:34     ` viro
2005-08-30 23:51       ` Daniel Phillips
2005-08-30 23:37     ` Daniel Phillips
2005-08-31  0:03     ` Joel Becker
2005-09-04  3:53     ` Joel Becker
2005-09-04  4:12       ` Joel Becker [this message]
2005-09-04  4:41         ` Joel Becker
2005-09-04  4:54           ` Joel Becker
2005-09-07 20:31             ` Greg KH

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=20050904041224.GP8684@ca-server1.us.oracle.com \
    --to=joel.becker@oracle.com \
    --cc=akpm@osdl.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@istop.com \
    /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