From b6ee56fe2afe10cf855de8d11b6097fa82c26163 Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Fri, 15 Aug 2014 12:48:11 -0400 Subject: [PATCH] staging/lustre/llite: hold inode mutex around ll_setattr_raw() ll_setattr_raw() expects to be called with the inode mutex held so do when calling it from ll_hsm_import(). Signed-off-by: John L. Hammond Reviewed-on: http://review.whamcloud.com/11349 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5456 Reviewed-by: Jinshan Xiong Reviewed-by: Faccini Bruno Signed-off-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman --- drivers/staging/lustre/lustre/llite/file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c index fd1b75a3..084fb92 100644 --- a/drivers/staging/lustre/lustre/llite/file.c +++ b/drivers/staging/lustre/lustre/llite/file.c @@ -2116,10 +2116,14 @@ static int ll_hsm_import(struct inode *inode, struct file *file, ATTR_MTIME | ATTR_MTIME_SET | ATTR_ATIME | ATTR_ATIME_SET; + mutex_lock(&inode->i_mutex); + rc = ll_setattr_raw(file->f_dentry, attr, true); if (rc == -ENODATA) rc = 0; + mutex_unlock(&inode->i_mutex); + out: if (hss != NULL) OBD_FREE_PTR(hss); -- 2.7.4