diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/gfs2/ops_address.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index b3b7e8475359..90c287932d58 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c | |||
@@ -507,7 +507,9 @@ static int gfs2_commit_write(struct file *file, struct page *page, | |||
507 | gfs2_quota_unlock(ip); | 507 | gfs2_quota_unlock(ip); |
508 | gfs2_alloc_put(ip); | 508 | gfs2_alloc_put(ip); |
509 | } | 509 | } |
510 | unlock_page(page); | ||
510 | gfs2_glock_dq_m(1, &ip->i_gh); | 511 | gfs2_glock_dq_m(1, &ip->i_gh); |
512 | lock_page(page); | ||
511 | gfs2_holder_uninit(&ip->i_gh); | 513 | gfs2_holder_uninit(&ip->i_gh); |
512 | return 0; | 514 | return 0; |
513 | 515 | ||
@@ -520,7 +522,9 @@ fail_endtrans: | |||
520 | gfs2_quota_unlock(ip); | 522 | gfs2_quota_unlock(ip); |
521 | gfs2_alloc_put(ip); | 523 | gfs2_alloc_put(ip); |
522 | } | 524 | } |
525 | unlock_page(page); | ||
523 | gfs2_glock_dq_m(1, &ip->i_gh); | 526 | gfs2_glock_dq_m(1, &ip->i_gh); |
527 | lock_page(page); | ||
524 | gfs2_holder_uninit(&ip->i_gh); | 528 | gfs2_holder_uninit(&ip->i_gh); |
525 | fail_nounlock: | 529 | fail_nounlock: |
526 | ClearPageUptodate(page); | 530 | ClearPageUptodate(page); |