From 3b36ad93151ac5e60f14069e81fa78e4b26d3eee Mon Sep 17 00:00:00 2001 From: bwzhou <bwzhou> Date: Thu, 29 Nov 2007 05:39:20 +0000 Subject: [PATCH] Branch b1_6 b=14326 r=johann,bwzhou Use old size assignment to avoid deadlock caused by ll_inode_size_lock calls down semaphore under spinlock held. --- lustre/llite/llite_lib.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index e36bf757fe..fdaf011332 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -1739,9 +1739,13 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md) inode->i_rdev = old_decode_dev(body->rdev); #endif if (body->valid & OBD_MD_FLSIZE) { +#if 0 /* Can't block ll_test_inode->ll_update_inode, b=14326*/ ll_inode_size_lock(inode, 0); i_size_write(inode, body->size); ll_inode_size_unlock(inode, 0); +#else + inode->i_size = body->size; +#endif } if (body->valid & OBD_MD_FLBLOCKS) inode->i_blocks = body->blocks; -- GitLab