diff options
Diffstat (limited to 'fs/gfs2/lops.c')
-rw-r--r-- | fs/gfs2/lops.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 17c5b5d7dc88..010b9fb9fec6 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c | |||
@@ -579,6 +579,24 @@ static int buf_lo_scan_elements(struct gfs2_jdesc *jd, unsigned int start, | |||
579 | return error; | 579 | return error; |
580 | } | 580 | } |
581 | 581 | ||
582 | /** | ||
583 | * gfs2_meta_sync - Sync all buffers associated with a glock | ||
584 | * @gl: The glock | ||
585 | * | ||
586 | */ | ||
587 | |||
588 | static void gfs2_meta_sync(struct gfs2_glock *gl) | ||
589 | { | ||
590 | struct address_space *mapping = gfs2_glock2aspace(gl); | ||
591 | int error; | ||
592 | |||
593 | filemap_fdatawrite(mapping); | ||
594 | error = filemap_fdatawait(mapping); | ||
595 | |||
596 | if (error) | ||
597 | gfs2_io_error(gl->gl_sbd); | ||
598 | } | ||
599 | |||
582 | static void buf_lo_after_scan(struct gfs2_jdesc *jd, int error, int pass) | 600 | static void buf_lo_after_scan(struct gfs2_jdesc *jd, int error, int pass) |
583 | { | 601 | { |
584 | struct gfs2_inode *ip = GFS2_I(jd->jd_inode); | 602 | struct gfs2_inode *ip = GFS2_I(jd->jd_inode); |