diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c index e57c804069ea6487c0a8eba6d203f88ccd8dd39a..6b6d092b09985941f856671722d6db52e1fd035d 100644 --- a/fs/ocfs2/locks.c +++ b/fs/ocfs2/locks.c @@ -82,6 +82,8 @@ static int ocfs2_do_flock(struct file *file, struct inode *inode, } ret = flock_lock_file_wait(file, fl); + if (ret) + ocfs2_file_unlock(file); out: mutex_unlock(&fp->fp_mutex);