xfs: small cleanups for xfs_iomap / __xfs_get_blocks
Remove the flags argument to __xfs_get_blocks as we can easily derive it from the direct argument, and remove the unused BMAPI_MMAP flag. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
parent
3070451eea
commit
f2bde9b89b
@ -1295,9 +1295,9 @@ __xfs_get_blocks(
|
||||
sector_t iblock,
|
||||
struct buffer_head *bh_result,
|
||||
int create,
|
||||
int direct,
|
||||
bmapi_flags_t flags)
|
||||
int direct)
|
||||
{
|
||||
int flags = create ? BMAPI_WRITE : BMAPI_READ;
|
||||
struct xfs_bmbt_irec imap;
|
||||
xfs_off_t offset;
|
||||
ssize_t size;
|
||||
@ -1312,8 +1312,11 @@ __xfs_get_blocks(
|
||||
if (!create && direct && offset >= i_size_read(inode))
|
||||
return 0;
|
||||
|
||||
error = xfs_iomap(XFS_I(inode), offset, size,
|
||||
create ? flags : BMAPI_READ, &imap, &nimap, &new);
|
||||
if (direct && create)
|
||||
flags |= BMAPI_DIRECT;
|
||||
|
||||
error = xfs_iomap(XFS_I(inode), offset, size, flags, &imap, &nimap,
|
||||
&new);
|
||||
if (error)
|
||||
return -error;
|
||||
if (nimap == 0)
|
||||
@ -1393,8 +1396,7 @@ xfs_get_blocks(
|
||||
struct buffer_head *bh_result,
|
||||
int create)
|
||||
{
|
||||
return __xfs_get_blocks(inode, iblock,
|
||||
bh_result, create, 0, BMAPI_WRITE);
|
||||
return __xfs_get_blocks(inode, iblock, bh_result, create, 0);
|
||||
}
|
||||
|
||||
STATIC int
|
||||
@ -1404,8 +1406,7 @@ xfs_get_blocks_direct(
|
||||
struct buffer_head *bh_result,
|
||||
int create)
|
||||
{
|
||||
return __xfs_get_blocks(inode, iblock,
|
||||
bh_result, create, 1, BMAPI_WRITE|BMAPI_DIRECT);
|
||||
return __xfs_get_blocks(inode, iblock, bh_result, create, 1);
|
||||
}
|
||||
|
||||
STATIC void
|
||||
|
@ -133,7 +133,7 @@ xfs_iomap(
|
||||
break;
|
||||
}
|
||||
|
||||
if (flags & (BMAPI_DIRECT|BMAPI_MMAP)) {
|
||||
if (flags & BMAPI_DIRECT) {
|
||||
error = xfs_iomap_write_direct(ip, offset, count, flags,
|
||||
imap, nimaps);
|
||||
} else {
|
||||
|
@ -26,7 +26,6 @@ typedef enum {
|
||||
/* modifiers */
|
||||
BMAPI_IGNSTATE = (1 << 4), /* ignore unwritten state on read */
|
||||
BMAPI_DIRECT = (1 << 5), /* direct instead of buffered write */
|
||||
BMAPI_MMAP = (1 << 6), /* allocate for mmap write */
|
||||
BMAPI_TRYLOCK = (1 << 7), /* non-blocking request */
|
||||
} bmapi_flags_t;
|
||||
|
||||
@ -36,7 +35,6 @@ typedef enum {
|
||||
{ BMAPI_ALLOCATE, "ALLOCATE" }, \
|
||||
{ BMAPI_IGNSTATE, "IGNSTATE" }, \
|
||||
{ BMAPI_DIRECT, "DIRECT" }, \
|
||||
{ BMAPI_MMAP, "MMAP" }, \
|
||||
{ BMAPI_TRYLOCK, "TRYLOCK" }
|
||||
|
||||
struct xfs_inode;
|
||||
|
Loading…
Reference in New Issue
Block a user