aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/bmap.c8
-rw-r--r--fs/gfs2/bmap.h2
-rw-r--r--fs/gfs2/log.c2
-rw-r--r--fs/gfs2/ops_address.c30
-rw-r--r--fs/gfs2/ops_address.h2
-rw-r--r--fs/gfs2/ops_file.c2
-rw-r--r--fs/gfs2/quota.c4
-rw-r--r--fs/gfs2/recovery.c2
8 files changed, 17 insertions, 35 deletions
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index 1cfd493e30fb..49486029edc2 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -452,8 +452,8 @@ static inline void bmap_unlock(struct inode *inode, int create)
452 * Returns: errno 452 * Returns: errno
453 */ 453 */
454 454
455int gfs2_block_map(struct inode *inode, u64 lblock, int create, 455int gfs2_block_map(struct inode *inode, sector_t lblock,
456 struct buffer_head *bh_map) 456 struct buffer_head *bh_map, int create)
457{ 457{
458 struct gfs2_inode *ip = GFS2_I(inode); 458 struct gfs2_inode *ip = GFS2_I(inode);
459 struct gfs2_sbd *sdp = GFS2_SB(inode); 459 struct gfs2_sbd *sdp = GFS2_SB(inode);
@@ -559,7 +559,7 @@ int gfs2_extent_map(struct inode *inode, u64 lblock, int *new, u64 *dblock, unsi
559 BUG_ON(!new); 559 BUG_ON(!new);
560 560
561 bh.b_size = 1 << (inode->i_blkbits + 5); 561 bh.b_size = 1 << (inode->i_blkbits + 5);
562 ret = gfs2_block_map(inode, lblock, create, &bh); 562 ret = gfs2_block_map(inode, lblock, &bh, create);
563 *extlen = bh.b_size >> inode->i_blkbits; 563 *extlen = bh.b_size >> inode->i_blkbits;
564 *dblock = bh.b_blocknr; 564 *dblock = bh.b_blocknr;
565 if (buffer_new(&bh)) 565 if (buffer_new(&bh))
@@ -909,7 +909,7 @@ static int gfs2_block_truncate_page(struct address_space *mapping)
909 err = 0; 909 err = 0;
910 910
911 if (!buffer_mapped(bh)) { 911 if (!buffer_mapped(bh)) {
912 gfs2_get_block(inode, iblock, bh, 0); 912 gfs2_block_map(inode, iblock, bh, 0);
913 /* unmapped? It's a hole - nothing to do */ 913 /* unmapped? It's a hole - nothing to do */
914 if (!buffer_mapped(bh)) 914 if (!buffer_mapped(bh))
915 goto unlock; 915 goto unlock;
diff --git a/fs/gfs2/bmap.h b/fs/gfs2/bmap.h
index ac2fd04370dc..4e6cde2943bd 100644
--- a/fs/gfs2/bmap.h
+++ b/fs/gfs2/bmap.h
@@ -15,7 +15,7 @@ struct gfs2_inode;
15struct page; 15struct page;
16 16
17int gfs2_unstuff_dinode(struct gfs2_inode *ip, struct page *page); 17int gfs2_unstuff_dinode(struct gfs2_inode *ip, struct page *page);
18int gfs2_block_map(struct inode *inode, u64 lblock, int create, struct buffer_head *bh); 18int gfs2_block_map(struct inode *inode, sector_t lblock, struct buffer_head *bh, int create);
19int gfs2_extent_map(struct inode *inode, u64 lblock, int *new, u64 *dblock, unsigned *extlen); 19int gfs2_extent_map(struct inode *inode, u64 lblock, int *new, u64 *dblock, unsigned *extlen);
20 20
21int gfs2_truncatei(struct gfs2_inode *ip, u64 size); 21int gfs2_truncatei(struct gfs2_inode *ip, u64 size);
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 96dcf050e6c9..14333d81cf7d 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -344,7 +344,7 @@ static u64 log_bmap(struct gfs2_sbd *sdp, unsigned int lbn)
344 struct buffer_head bh_map = { .b_state = 0, .b_blocknr = 0 }; 344 struct buffer_head bh_map = { .b_state = 0, .b_blocknr = 0 };
345 345
346 bh_map.b_size = 1 << inode->i_blkbits; 346 bh_map.b_size = 1 << inode->i_blkbits;
347 error = gfs2_block_map(inode, lbn, 0, &bh_map); 347 error = gfs2_block_map(inode, lbn, &bh_map, 0);
348 if (error || !bh_map.b_blocknr) 348 if (error || !bh_map.b_blocknr)
349 printk(KERN_INFO "error=%d, dbn=%llu lbn=%u", error, 349 printk(KERN_INFO "error=%d, dbn=%llu lbn=%u", error,
350 (unsigned long long)bh_map.b_blocknr, lbn); 350 (unsigned long long)bh_map.b_blocknr, lbn);
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 7353933483bb..8f94e306c862 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -59,22 +59,6 @@ static void gfs2_page_add_databufs(struct gfs2_inode *ip, struct page *page,
59} 59}
60 60
61/** 61/**
62 * gfs2_get_block - Fills in a buffer head with details about a block
63 * @inode: The inode
64 * @lblock: The block number to look up
65 * @bh_result: The buffer head to return the result in
66 * @create: Non-zero if we may add block to the file
67 *
68 * Returns: errno
69 */
70
71int gfs2_get_block(struct inode *inode, sector_t lblock,
72 struct buffer_head *bh_result, int create)
73{
74 return gfs2_block_map(inode, lblock, create, bh_result);
75}
76
77/**
78 * gfs2_get_block_noalloc - Fills in a buffer head with details about a block 62 * gfs2_get_block_noalloc - Fills in a buffer head with details about a block
79 * @inode: The inode 63 * @inode: The inode
80 * @lblock: The block number to look up 64 * @lblock: The block number to look up
@@ -89,7 +73,7 @@ static int gfs2_get_block_noalloc(struct inode *inode, sector_t lblock,
89{ 73{
90 int error; 74 int error;
91 75
92 error = gfs2_block_map(inode, lblock, 0, bh_result); 76 error = gfs2_block_map(inode, lblock, bh_result, 0);
93 if (error) 77 if (error)
94 return error; 78 return error;
95 if (!buffer_mapped(bh_result)) 79 if (!buffer_mapped(bh_result))
@@ -100,7 +84,7 @@ static int gfs2_get_block_noalloc(struct inode *inode, sector_t lblock,
100static int gfs2_get_block_direct(struct inode *inode, sector_t lblock, 84static int gfs2_get_block_direct(struct inode *inode, sector_t lblock,
101 struct buffer_head *bh_result, int create) 85 struct buffer_head *bh_result, int create)
102{ 86{
103 return gfs2_block_map(inode, lblock, 0, bh_result); 87 return gfs2_block_map(inode, lblock, bh_result, 0);
104} 88}
105 89
106/** 90/**
@@ -504,7 +488,7 @@ static int __gfs2_readpage(void *file, struct page *page)
504 error = stuffed_readpage(ip, page); 488 error = stuffed_readpage(ip, page);
505 unlock_page(page); 489 unlock_page(page);
506 } else { 490 } else {
507 error = mpage_readpage(page, gfs2_get_block); 491 error = mpage_readpage(page, gfs2_block_map);
508 } 492 }
509 493
510 if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) 494 if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags)))
@@ -598,7 +582,7 @@ int gfs2_internal_read(struct gfs2_inode *ip, struct file_ra_state *ra_state,
598 * Any I/O we ignore at this time will be done via readpage later. 582 * Any I/O we ignore at this time will be done via readpage later.
599 * 2. We don't handle stuffed files here we let readpage do the honours. 583 * 2. We don't handle stuffed files here we let readpage do the honours.
600 * 3. mpage_readpages() does most of the heavy lifting in the common case. 584 * 3. mpage_readpages() does most of the heavy lifting in the common case.
601 * 4. gfs2_get_block() is relied upon to set BH_Boundary in the right places. 585 * 4. gfs2_block_map() is relied upon to set BH_Boundary in the right places.
602 */ 586 */
603 587
604static int gfs2_readpages(struct file *file, struct address_space *mapping, 588static int gfs2_readpages(struct file *file, struct address_space *mapping,
@@ -615,7 +599,7 @@ static int gfs2_readpages(struct file *file, struct address_space *mapping,
615 if (unlikely(ret)) 599 if (unlikely(ret))
616 goto out_uninit; 600 goto out_uninit;
617 if (!gfs2_is_stuffed(ip)) 601 if (!gfs2_is_stuffed(ip))
618 ret = mpage_readpages(mapping, pages, nr_pages, gfs2_get_block); 602 ret = mpage_readpages(mapping, pages, nr_pages, gfs2_block_map);
619 gfs2_glock_dq(&gh); 603 gfs2_glock_dq(&gh);
620out_uninit: 604out_uninit:
621 gfs2_holder_uninit(&gh); 605 gfs2_holder_uninit(&gh);
@@ -710,7 +694,7 @@ static int gfs2_write_begin(struct file *file, struct address_space *mapping,
710 } 694 }
711 695
712prepare_write: 696prepare_write:
713 error = block_prepare_write(page, from, to, gfs2_get_block); 697 error = block_prepare_write(page, from, to, gfs2_block_map);
714out: 698out:
715 if (error == 0) 699 if (error == 0)
716 return 0; 700 return 0;
@@ -923,7 +907,7 @@ static sector_t gfs2_bmap(struct address_space *mapping, sector_t lblock)
923 return 0; 907 return 0;
924 908
925 if (!gfs2_is_stuffed(ip)) 909 if (!gfs2_is_stuffed(ip))
926 dblock = generic_block_bmap(mapping, lblock, gfs2_get_block); 910 dblock = generic_block_bmap(mapping, lblock, gfs2_block_map);
927 911
928 gfs2_glock_dq_uninit(&i_gh); 912 gfs2_glock_dq_uninit(&i_gh);
929 913
diff --git a/fs/gfs2/ops_address.h b/fs/gfs2/ops_address.h
index d3b76d0cdc81..5da21285bba4 100644
--- a/fs/gfs2/ops_address.h
+++ b/fs/gfs2/ops_address.h
@@ -14,8 +14,6 @@
14#include <linux/buffer_head.h> 14#include <linux/buffer_head.h>
15#include <linux/mm.h> 15#include <linux/mm.h>
16 16
17extern int gfs2_get_block(struct inode *inode, sector_t lblock,
18 struct buffer_head *bh_result, int create);
19extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask); 17extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask);
20extern int gfs2_internal_read(struct gfs2_inode *ip, 18extern int gfs2_internal_read(struct gfs2_inode *ip,
21 struct file_ra_state *ra_state, 19 struct file_ra_state *ra_state,
diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c
index 2569c13eb108..597f7ff2bc11 100644
--- a/fs/gfs2/ops_file.c
+++ b/fs/gfs2/ops_file.c
@@ -323,7 +323,7 @@ static int gfs2_allocate_page_backing(struct page *page)
323 do { 323 do {
324 bh.b_state = 0; 324 bh.b_state = 0;
325 bh.b_size = size; 325 bh.b_size = size;
326 gfs2_block_map(inode, lblock, 1, &bh); 326 gfs2_block_map(inode, lblock, &bh, 1);
327 if (!buffer_mapped(&bh)) 327 if (!buffer_mapped(&bh))
328 return -EIO; 328 return -EIO;
329 size -= bh.b_size; 329 size -= bh.b_size;
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 4996f0ef3007..8b4c20c49ca7 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -276,7 +276,7 @@ static int bh_get(struct gfs2_quota_data *qd)
276 offset = qd->qd_slot % sdp->sd_qc_per_block;; 276 offset = qd->qd_slot % sdp->sd_qc_per_block;;
277 277
278 bh_map.b_size = 1 << ip->i_inode.i_blkbits; 278 bh_map.b_size = 1 << ip->i_inode.i_blkbits;
279 error = gfs2_block_map(&ip->i_inode, block, 0, &bh_map); 279 error = gfs2_block_map(&ip->i_inode, block, &bh_map, 0);
280 if (error) 280 if (error)
281 goto fail; 281 goto fail;
282 error = gfs2_meta_read(ip->i_gl, bh_map.b_blocknr, DIO_WAIT, &bh); 282 error = gfs2_meta_read(ip->i_gl, bh_map.b_blocknr, DIO_WAIT, &bh);
@@ -645,7 +645,7 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc,
645 } 645 }
646 646
647 if (!buffer_mapped(bh)) { 647 if (!buffer_mapped(bh)) {
648 gfs2_get_block(inode, iblock, bh, 1); 648 gfs2_block_map(inode, iblock, bh, 1);
649 if (!buffer_mapped(bh)) 649 if (!buffer_mapped(bh))
650 goto unlock; 650 goto unlock;
651 } 651 }
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index beb6c7ac0086..27c994f2d1f0 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -391,7 +391,7 @@ static int clean_journal(struct gfs2_jdesc *jd, struct gfs2_log_header_host *hea
391 lblock = head->lh_blkno; 391 lblock = head->lh_blkno;
392 gfs2_replay_incr_blk(sdp, &lblock); 392 gfs2_replay_incr_blk(sdp, &lblock);
393 bh_map.b_size = 1 << ip->i_inode.i_blkbits; 393 bh_map.b_size = 1 << ip->i_inode.i_blkbits;
394 error = gfs2_block_map(&ip->i_inode, lblock, 0, &bh_map); 394 error = gfs2_block_map(&ip->i_inode, lblock, &bh_map, 0);
395 if (error) 395 if (error)
396 return error; 396 return error;
397 if (!bh_map.b_blocknr) { 397 if (!bh_map.b_blocknr) {