diff options
Diffstat (limited to 'fs/ocfs2/sysfile.c')
-rw-r--r-- | fs/ocfs2/sysfile.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ocfs2/sysfile.c b/fs/ocfs2/sysfile.c index f053688d22a3..af155c183123 100644 --- a/fs/ocfs2/sysfile.c +++ b/fs/ocfs2/sysfile.c | |||
@@ -113,9 +113,11 @@ struct inode *ocfs2_get_system_file_inode(struct ocfs2_super *osb, | |||
113 | } else | 113 | } else |
114 | arr = get_local_system_inode(osb, type, slot); | 114 | arr = get_local_system_inode(osb, type, slot); |
115 | 115 | ||
116 | mutex_lock(&osb->system_file_mutex); | ||
116 | if (arr && ((inode = *arr) != NULL)) { | 117 | if (arr && ((inode = *arr) != NULL)) { |
117 | /* get a ref in addition to the array ref */ | 118 | /* get a ref in addition to the array ref */ |
118 | inode = igrab(inode); | 119 | inode = igrab(inode); |
120 | mutex_unlock(&osb->system_file_mutex); | ||
119 | BUG_ON(!inode); | 121 | BUG_ON(!inode); |
120 | 122 | ||
121 | return inode; | 123 | return inode; |
@@ -129,6 +131,7 @@ struct inode *ocfs2_get_system_file_inode(struct ocfs2_super *osb, | |||
129 | *arr = igrab(inode); | 131 | *arr = igrab(inode); |
130 | BUG_ON(!*arr); | 132 | BUG_ON(!*arr); |
131 | } | 133 | } |
134 | mutex_unlock(&osb->system_file_mutex); | ||
132 | return inode; | 135 | return inode; |
133 | } | 136 | } |
134 | 137 | ||