All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: Jeff Layton <jlayton@redhat.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH] ensure i_ino uniqueness in filesystems without permanent inode numbers (via idr)
Date: Fri, 01 Dec 2006 09:42:36 -0800	[thread overview]
Message-ID: <4570698C.5060502@oracle.com> (raw)
In-Reply-To: <20061201172136.GA11669@dantu.rdu.redhat.com>

Jeff Layton wrote:
> On Fri, Dec 01, 2006 at 08:52:27AM -0800, Randy Dunlap wrote:
> 
> Thanks for having a look, Randy...
> 
>> s/idr_/iunique_/
> 
> Doh! Can you tell I cut and pasted this email from earlier ones? :-)
> 
>>> - don't attempt to remove inodes with values <100
>> Please explain that one.  (May be obvious to some, but not to me.)
> 
> Actually, we probably don't need to do that now. My thought here was to add
> a low range of i_ino numbers that could be used by the filesystem code without
> needing to call iunique (in particular for things like the root inode in the
> filesystem). It's probably best to not do this though and let the filesystem
> handle it on its own.
> 
>> Better to post patches inline (for review) rather than as attachments.
> 
> Here's an updated (but untested) patch based on your suggestions. I also went
> ahead and made the exported symbols GPL-only since that seems like it would be
> appropriate here. Any further thoughts on it?

Just needs new/updated patch description.
and one "typo" fixed.

> diff --git a/fs/inode.c b/fs/inode.c
> index 26cdb11..e45cec9 100644
> --- a/fs/inode.c
> +++ b/fs/inode.c
> @@ -706,6 +708,32 @@ retry:
>  
>  EXPORT_SYMBOL(iunique);
>  
> +int iunique_register(struct inode *inode, int max_reserved)
> +{
> +	int rv;
> +
> +	rv = idr_pre_get(&inode->i_sb->s_inode_ids, GFP_KERNEL);
> +	if (! rv)

No space after !, just:
	if (!rv)

> +		return -ENOMEM;
> +
> +	spin_lock(&inode->i_sb->s_inode_ids_lock);
> +	rv = idr_get_new_above(&inode->i_sb->s_inode_ids, inode,
> +		max_reserved+1, (int *) &inode->i_ino);
> +	inode->i_generation = inode->i_sb->s_generation++;
> +	spin_unlock(&inode->i_sb->s_inode_ids_lock);
> +	return rv;
> +}

Thanks.
-- 
~Randy

  reply	other threads:[~2006-12-01 17:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-01 14:48 [RFC][PATCH] ensure i_ino uniqueness in filesystems without permanent inode numbers (via idr) Jeff Layton
2006-12-01 16:52 ` Randy Dunlap
2006-12-01 17:21   ` Jeff Layton
2006-12-01 17:42     ` Randy Dunlap [this message]
2006-12-02  5:30     ` Brad Boyer
2006-12-03  2:56       ` Jeff Layton
2006-12-02 12:58         ` Brad Boyer
2006-12-03 11:52           ` Al Boldi
2006-12-03 12:49           ` Jeff Layton
  -- strict thread matches above, loose matches on Subject: below --
2006-11-14 20:22 Jeff Layton
2006-11-14 20:26 ` Al Viro
2006-11-15 16:42   ` Jeff Layton
2006-11-15 16:44     ` Jeff Layton
2006-11-16 14:06     ` Al Viro
2006-11-16 14:34       ` Jeff Layton
2006-11-15 17:27 ` Matthew Wilcox
2006-11-15 17:56   ` Jörn Engel
2006-11-15 20:36     ` Jeff Layton

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=4570698C.5060502@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=jlayton@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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.