From ecdf647de447e262f4d899ba5f1630d2059fb3ae Mon Sep 17 00:00:00 2001 From: yury Date: Wed, 14 Sep 2005 15:32:19 +0000 Subject: [PATCH] - added revalidating inode as Alex adviced before checking its size in ll_gns_mount_object(). It should help to fix #9283 --- lustre/llite/llite_gns.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lustre/llite/llite_gns.c b/lustre/llite/llite_gns.c index b8531d9..d9affef 100644 --- a/lustre/llite/llite_gns.c +++ b/lustre/llite/llite_gns.c @@ -228,6 +228,16 @@ ll_gns_mount_object(struct dentry *dentry, struct vfsmount *mnt) } cleanup_phase = 2; + /* make sure that inode size is up-to-date */ + rc = ll_inode_revalidate_it(mntinfo_fd->f_dentry); + if (rc < 0) { + CERROR("can't revalidate mount object %*s/%*s, err %d\n", + (int)dentry->d_name.len, dentry->d_name.name, + strlen(sbi->ll_gns_oname), sbi->ll_gns_oname, + rc); + GOTO(cleanup, rc); + } + if (mntinfo_fd->f_dentry->d_inode->i_size > PAGE_SIZE - 1) { CERROR("mount object %*s/%*s is too big (%Ld)\n", (int)dentry->d_name.len, dentry->d_name.name, -- 1.8.3.1