aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_address.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/ops_address.c')
-rw-r--r--fs/gfs2/ops_address.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 93e00a8af8cf..fca69f12e4de 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -27,7 +27,6 @@
27#include "log.h" 27#include "log.h"
28#include "meta_io.h" 28#include "meta_io.h"
29#include "ops_address.h" 29#include "ops_address.h"
30#include "page.h"
31#include "quota.h" 30#include "quota.h"
32#include "trans.h" 31#include "trans.h"
33#include "rgrp.h" 32#include "rgrp.h"
@@ -35,6 +34,24 @@
35#include "util.h" 34#include "util.h"
36#include "glops.h" 35#include "glops.h"
37 36
37
38static void gfs2_page_add_databufs(struct gfs2_inode *ip, struct page *page,
39 unsigned int from, unsigned int to)
40{
41 struct buffer_head *head = page_buffers(page);
42 unsigned int bsize = head->b_size;
43 struct buffer_head *bh;
44 unsigned int start, end;
45
46 for (bh = head, start = 0; bh != head || !start;
47 bh = bh->b_this_page, start = end) {
48 end = start + bsize;
49 if (end <= from || start >= to)
50 continue;
51 gfs2_trans_add_bh(ip->i_gl, bh, 0);
52 }
53}
54
38/** 55/**
39 * gfs2_get_block - Fills in a buffer head with details about a block 56 * gfs2_get_block - Fills in a buffer head with details about a block
40 * @inode: The inode 57 * @inode: The inode