Re: [PATCH 2/2] fat (exportfs): reconnect file handles to evicted inodes/dentries

From: OGAWA Hirofumi
Date: Fri Jul 06 2012 - 17:07:53 EST


"Steven J. Magnani" <steve@xxxxxxxxxxxxxxx> writes:

> On Wed, 2012-07-04 at 20:07 +0900, OGAWA Hirofumi wrote:
>> Please don't add new lock_super() usage if it is not necessary. Almost
>> all of lock_super() just replaced lock_kernel() usage. It rather should
>> be removed in future. Probably, this should use inode->i_mutex instead.
>>
>> BTW, the above issue is same with all of directory read.
>
> I don't think there's really an alternative here. The cases addressed by
> this patch all involve walking on-disk structures via
> unofficial/temporary inodes created from information in the NFS handle
> (i.e., outside the normal inode creation paths). When this process is
> successful we end up with "official" connected inodes/dentries, but
> getting there is really a "bottom up" strategy instead of the usual "top
> down" approach.
>
> Because the "bottom up" method is lacking guarantees that "top down"
> takes for granted - i.e., that a cluster on disk that's supposed to be a
> directory actually *is* a directory - I am adding some defensive code
> in the next spin of the patch.

I'm not sure what you meant. Where is the problem? ->get_name()? If so,
it has parent dentry parameter. What is the wrong if we take
mutex_lock(parent->d_inode)?

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
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/