From: Marc Dionne Date: Tue, 27 Nov 2007 19:28:26 +0000 (+0000) Subject: DEVEL15-linux-hash-inodes-for-mmap-20071127 X-Git-Tag: openafs-devel-1_5_28~38 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e7beba31f0019c29d9e1f281249a9749f6e1f405;p=packages%2Fo%2Fopenafs.git DEVEL15-linux-hash-inodes-for-mmap-20071127 FIXES 78544 inodes are only added to the superblock dirty list if hashed. do so. (cherry picked from commit 89261e8b84697f3b5158e197ca9946c6fe9f45ed) --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index a14f58374..674b857c2 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -970,6 +970,7 @@ afs_linux_create(struct inode *dip, struct dentry *dp, int mode) afs_getattr(vcp, &vattr, credp); afs_fill_inode(ip, &vattr); + insert_inode_hash(ip); dp->d_op = &afs_dentry_operations; dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion); d_instantiate(dp, ip); @@ -1018,6 +1019,8 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) ip = AFSTOV(vcp); afs_getattr(vcp, &vattr, credp); afs_fill_inode(ip, &vattr); + if (hlist_unhashed(&ip->i_hash)) + insert_inode_hash(ip); } dp->d_op = &afs_dentry_operations; dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion); @@ -1880,5 +1883,4 @@ afs_fill_inode(struct inode *ip, struct vattr *vattr) #endif } - /* insert_inode_hash(ip); -- this would make iget() work (if we used it) */ }