mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
udf: Fold udf_block_map() into udf_map_block()
udf_block_map() has now only a single caller. Fold it there. Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
15a08f5162
commit
364a6665d5
@ -341,9 +341,21 @@ static int udf_map_block(struct inode *inode, struct udf_map_rq *map)
|
||||
|
||||
map->oflags = 0;
|
||||
if (!(map->iflags & UDF_MAP_CREATE)) {
|
||||
map->pblk = udf_block_map(inode, map->lblk);
|
||||
if (map->pblk != 0)
|
||||
struct kernel_lb_addr eloc;
|
||||
uint32_t elen;
|
||||
sector_t offset;
|
||||
struct extent_position epos = {};
|
||||
|
||||
down_read(&iinfo->i_data_sem);
|
||||
if (inode_bmap(inode, map->lblk, &epos, &eloc, &elen, &offset)
|
||||
== (EXT_RECORDED_ALLOCATED >> 30)) {
|
||||
map->pblk = udf_get_lb_pblock(inode->i_sb, &eloc,
|
||||
offset);
|
||||
map->oflags |= UDF_BLK_MAPPED;
|
||||
}
|
||||
up_read(&iinfo->i_data_sem);
|
||||
brelse(epos.bh);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -2291,25 +2303,3 @@ int8_t inode_bmap(struct inode *inode, sector_t block,
|
||||
|
||||
return etype;
|
||||
}
|
||||
|
||||
udf_pblk_t udf_block_map(struct inode *inode, sector_t block)
|
||||
{
|
||||
struct kernel_lb_addr eloc;
|
||||
uint32_t elen;
|
||||
sector_t offset;
|
||||
struct extent_position epos = {};
|
||||
udf_pblk_t ret;
|
||||
|
||||
down_read(&UDF_I(inode)->i_data_sem);
|
||||
|
||||
if (inode_bmap(inode, block, &epos, &eloc, &elen, &offset) ==
|
||||
(EXT_RECORDED_ALLOCATED >> 30))
|
||||
ret = udf_get_lb_pblock(inode->i_sb, &eloc, offset);
|
||||
else
|
||||
ret = 0;
|
||||
|
||||
up_read(&UDF_I(inode)->i_data_sem);
|
||||
brelse(epos.bh);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -158,7 +158,6 @@ extern struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block,
|
||||
extern int udf_setsize(struct inode *, loff_t);
|
||||
extern void udf_evict_inode(struct inode *);
|
||||
extern int udf_write_inode(struct inode *, struct writeback_control *wbc);
|
||||
extern udf_pblk_t udf_block_map(struct inode *inode, sector_t block);
|
||||
extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *,
|
||||
struct kernel_lb_addr *, uint32_t *, sector_t *);
|
||||
extern int udf_setup_indirect_aext(struct inode *inode, udf_pblk_t block,
|
||||
|
Loading…
Reference in New Issue
Block a user