gfs2: Move gfs2_trans_add_databufs
Move gfs2_trans_add_databufs() to trans.c. Pass in a glock instead of a gfs2_inode. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>pull/1250/head
parent
2f022736ee
commit
d50a64e3c5
|
|
@ -37,27 +37,6 @@
|
|||
#include "aops.h"
|
||||
|
||||
|
||||
void gfs2_trans_add_databufs(struct gfs2_inode *ip, struct folio *folio,
|
||||
size_t from, size_t len)
|
||||
{
|
||||
struct buffer_head *head = folio_buffers(folio);
|
||||
unsigned int bsize = head->b_size;
|
||||
struct buffer_head *bh;
|
||||
size_t to = from + len;
|
||||
size_t start, end;
|
||||
|
||||
for (bh = head, start = 0; bh != head || !start;
|
||||
bh = bh->b_this_page, start = end) {
|
||||
end = start + bsize;
|
||||
if (end <= from)
|
||||
continue;
|
||||
if (start >= to)
|
||||
break;
|
||||
set_buffer_uptodate(bh);
|
||||
gfs2_trans_add_data(ip->i_gl, bh);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gfs2_get_block_noalloc - Fills in a buffer head with details about a block
|
||||
* @inode: The inode
|
||||
|
|
@ -133,7 +112,7 @@ static int __gfs2_jdata_write_folio(struct folio *folio,
|
|||
inode->i_sb->s_blocksize,
|
||||
BIT(BH_Dirty)|BIT(BH_Uptodate));
|
||||
}
|
||||
gfs2_trans_add_databufs(ip, folio, 0, folio_size(folio));
|
||||
gfs2_trans_add_databufs(ip->i_gl, folio, 0, folio_size(folio));
|
||||
}
|
||||
return gfs2_write_jdata_folio(folio, wbc);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,5 @@
|
|||
#include "incore.h"
|
||||
|
||||
void adjust_fs_space(struct inode *inode);
|
||||
void gfs2_trans_add_databufs(struct gfs2_inode *ip, struct folio *folio,
|
||||
size_t from, size_t len);
|
||||
|
||||
#endif /* __AOPS_DOT_H__ */
|
||||
|
|
|
|||
|
|
@ -988,7 +988,8 @@ static void gfs2_iomap_put_folio(struct inode *inode, loff_t pos,
|
|||
struct gfs2_sbd *sdp = GFS2_SB(inode);
|
||||
|
||||
if (!gfs2_is_stuffed(ip))
|
||||
gfs2_trans_add_databufs(ip, folio, offset_in_folio(folio, pos),
|
||||
gfs2_trans_add_databufs(ip->i_gl, folio,
|
||||
offset_in_folio(folio, pos),
|
||||
copied);
|
||||
|
||||
folio_unlock(folio);
|
||||
|
|
|
|||
|
|
@ -226,6 +226,27 @@ out:
|
|||
unlock_buffer(bh);
|
||||
}
|
||||
|
||||
void gfs2_trans_add_databufs(struct gfs2_glock *gl, struct folio *folio,
|
||||
size_t from, size_t len)
|
||||
{
|
||||
struct buffer_head *head = folio_buffers(folio);
|
||||
unsigned int bsize = head->b_size;
|
||||
struct buffer_head *bh;
|
||||
size_t to = from + len;
|
||||
size_t start, end;
|
||||
|
||||
for (bh = head, start = 0; bh != head || !start;
|
||||
bh = bh->b_this_page, start = end) {
|
||||
end = start + bsize;
|
||||
if (end <= from)
|
||||
continue;
|
||||
if (start >= to)
|
||||
break;
|
||||
set_buffer_uptodate(bh);
|
||||
gfs2_trans_add_data(gl, bh);
|
||||
}
|
||||
}
|
||||
|
||||
void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh)
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks,
|
|||
|
||||
void gfs2_trans_end(struct gfs2_sbd *sdp);
|
||||
void gfs2_trans_add_data(struct gfs2_glock *gl, struct buffer_head *bh);
|
||||
void gfs2_trans_add_databufs(struct gfs2_glock *gl, struct folio *folio,
|
||||
size_t from, size_t len);
|
||||
void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh);
|
||||
void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd);
|
||||
void gfs2_trans_remove_revoke(struct gfs2_sbd *sdp, u64 blkno, unsigned int len);
|
||||
|
|
|
|||
Loading…
Reference in New Issue