|
@@ -113,9 +113,11 @@ struct inode *ocfs2_get_system_file_inode(struct ocfs2_super *osb,
|
|
|
} else
|
|
|
arr = get_local_system_inode(osb, type, slot);
|
|
|
|
|
|
+ mutex_lock(&osb->system_file_mutex);
|
|
|
if (arr && ((inode = *arr) != NULL)) {
|
|
|
/* get a ref in addition to the array ref */
|
|
|
inode = igrab(inode);
|
|
|
+ mutex_unlock(&osb->system_file_mutex);
|
|
|
BUG_ON(!inode);
|
|
|
|
|
|
return inode;
|
|
@@ -129,6 +131,7 @@ struct inode *ocfs2_get_system_file_inode(struct ocfs2_super *osb,
|
|
|
*arr = igrab(inode);
|
|
|
BUG_ON(!*arr);
|
|
|
}
|
|
|
+ mutex_unlock(&osb->system_file_mutex);
|
|
|
return inode;
|
|
|
}
|
|
|
|