mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Adam J. Richter" <adam@yggdrasil.com>
To: viro@parcelfarce.linux.theplanet.co.uk
Cc: akpm@osdl.org, chrisw@osdl.org, greg@kroah.com,
	linux-kernel@vger.kernel.org, maneesh@in.ibm.com
Subject: Re: [Patch?] Teach sysfs_get_name not to use a dentry
Date: Thu, 2 Dec 2004 03:14:08 -0800	[thread overview]
Message-ID: <200412021114.iB2BE8928358@adam.yggdrasil.com> (raw)

On Thu, 2 Dec 2004 07:00:22 +0000 Al Viro wrote:
>On Wed, Dec 01, 2004 at 10:41:08PM -0800, Adam J. Richter wrote:
>> Hi Maneesh,
>> 
>> 	The following patch changes syfs_getname to avoid using
>> sysfs_dirent->s_dentry for getting the names of directories (as
>> this pointer may be NULL in a future version where sysfs would
>> be able to release the inode and dentry for each sysfs directory).
>> It does so by defining different sysfs_dirent.s_type values depending
>> on whether the diretory represents a kobject or an attribute_group.
>> 
>> 	This patch is ground work for unpinning the struct inode
>> and struct dentry used by each sysfs directory.  The patch also may
>> facilitate eliminating the sysfs_dentry for each member of an
>> attribute group.  The patch has no benefits by itself, but I'm posting
>> it now separately in the hopes of making it easier for people
>> to spot problems, and, also, because if it is integrated, I think
>> it will make the rest of the change to unpin directories (which
>> I have not yet written) easier to understand.

>Vetoed until you show an acceptable locking scheme for the latter.
>I do not believe that it's feasible; feel free to prove me wrong,
>but until then you'll have to carry the patchset on your own.

	I will try to code it up, but first I expect to post a couple
more incremental changes along the way that,  unlike this change,
are useful in their own right even if the unpinning the sysfs
directories are not implemented.  In particular, I expect to post
a patch to move the sysfs_dirent and the sysfs_dirent.s_type values
from the public include/linux/sysfs.h to fs/sysfs/sysfs.h, and
a patch to eliminate sysfs_dirent.s_children for non-directories.

	When I do get around to posting a patch to unpin the sysfs
directories, I think it would be incumbent upon anyone claiming
that they are "vetoed" to describing the problem including at least
a hypothetical example, as you haven't really defined "acceptable"
if you haven't shown there to be problem.  By the same token, it's
reasonable if you want to wait and see an implementation before
complaining, although if there is some problem scenario you can
already think of, I'd be interested in hearing about it.

	Here are a few basic points to check if you already see
a locking problem that you think would really be hard to address.

	1. The only renames in sysfs (as far as I know) are within
	   the same directory for an unusual use by the network
	   code, which I suspect could probably be eliminated anyhow.

	2. sysfs_dirent does not maintain a parallel "parent" pointer.

	3. I intended to replace kobject->dentry with kobject->sysfs_dir.

	4. Is the race you see unique to directories?

                    __     ______________
Adam J. Richter        \ /
adam@yggdrasil.com      | g g d r a s i l

             reply	other threads:[~2004-12-02 11:23 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-02 11:14 Adam J. Richter [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-12-30 17:45 Adam J. Richter
2004-12-02  7:45 Adam J. Richter
2004-12-02  7:37 Adam J. Richter
2004-12-02  6:41 Adam J. Richter
2004-12-02  6:56 ` Chris Wright
2004-12-02  7:00 ` Al Viro
2004-12-30 13:35 ` Maneesh Soni

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=200412021114.iB2BE8928358@adam.yggdrasil.com \
    --to=adam@yggdrasil.com \
    --cc=akpm@osdl.org \
    --cc=chrisw@osdl.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maneesh@in.ibm.com \
    --cc=viro@parcelfarce.linux.theplanet.co.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

all inboxes | Powered by JetHome®