Messages in this thread | | | Subject | Re: [PATCH 2/2] fat (exportfs): reconnect file handles to evicted inodes/dentries | From | "Steven J. Magnani" <> | Date | Fri, 06 Jul 2012 15:33:44 -0500 |
| |
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.
Steve
| |