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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html