Re: Linux 2.6.26-rc4

From: Ian Kent
Date: Tue Jun 03 2008 - 21:41:04 EST



On Tue, 2008-06-03 at 20:18 +0100, Al Viro wrote:
> On Tue, Jun 03, 2008 at 01:46:41PM -0400, Jeff Moyer wrote:
>
> > Well, let me know what level of dump you'd like. I can give the 50,000
> > foot view, or I can give you the history of things that happened to get
> > us to where we are today, or anything inbetween. The more specific
> > your request, the quicker I can respond. A full brain-dump would take
> > some time!
>
> a) what the hell is going on in autofs4_free_ino()? It checks for
> ino->dentry, when the only caller has just set it to NULL.

I know.
I need to clean that up.

>
> b) while we are at it, what's ino->inode doing there? AFAICS, it's
> a write-only field...

I know.
And I think it has never been used anywhere either but I haven't removed
it from the info structure.

>
> c) what are possible states of autofs4 dentry and what's the supposed
> life cycle of these beasts?
>
> d)
> /* For dentries of directories in the root dir */
> static struct dentry_operations autofs4_root_dentry_operations = {
> .d_revalidate = autofs4_revalidate,
> .d_release = autofs4_dentry_release,
> };
>
> /* For other dentries */
> static struct dentry_operations autofs4_dentry_operations = {
> .d_revalidate = autofs4_revalidate,
> .d_release = autofs4_dentry_release,
> };
>
> Just what is the difference?

There isn't any difference.
There's no real reason to keep them different except that there are two
distinct sets of operations. I don't see any harm in retaining this.

>
> e) in autofs4_tree_busy() we do atomic_read() on ino->count and dentry->d_count
> What's going to keep these suckers consistent with each other in any useful
> way?

The only time ino->count is changed is in ->mkdir(), ->rmdir and
->symlink() and ->unlink(). So it is supposed to represent the minimal
reference count. The code in autofs4_free_ino() should go but that may
be a bug, I need to check.


--
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/