Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH 2/2] fat (exportfs): reconnect file handles to evicted inodes/dentries | Date | Sat, 07 Jul 2012 06:07:50 +0900 |
| |
"Steven J. Magnani" <steve@digidescorp.com> 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@mail.parknet.co.jp>
| |