Skip to content

Commit

Permalink
xfs: factor our a helper to calculate the EOF alignment
Browse files Browse the repository at this point in the history
And drop the pointless mp argument to xfs_iomap_eof_align_last_fsb,
while we're at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
  • Loading branch information
Christoph Hellwig authored and Dave Chinner committed Sep 19, 2016
1 parent e9c4973 commit f8e3a82
Showing 1 changed file with 21 additions and 10 deletions.
31 changes: 21 additions & 10 deletions fs/xfs/xfs_iomap.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,13 @@ xfs_bmbt_to_iomap(
iomap->bdev = xfs_find_bdev_for_inode(VFS_I(ip));
}

STATIC int
xfs_iomap_eof_align_last_fsb(
xfs_mount_t *mp,
xfs_inode_t *ip,
xfs_extlen_t extsize,
xfs_fileoff_t *last_fsb)
static xfs_extlen_t
xfs_eof_alignment(
struct xfs_inode *ip,
xfs_extlen_t extsize)
{
xfs_extlen_t align = 0;
int eof, error;
struct xfs_mount *mp = ip->i_mount;
xfs_extlen_t align = 0;

if (!XFS_IS_REALTIME_INODE(ip)) {
/*
Expand Down Expand Up @@ -109,8 +107,21 @@ xfs_iomap_eof_align_last_fsb(
align = extsize;
}

return align;
}

STATIC int
xfs_iomap_eof_align_last_fsb(
struct xfs_inode *ip,
xfs_extlen_t extsize,
xfs_fileoff_t *last_fsb)
{
xfs_extlen_t align = xfs_eof_alignment(ip, extsize);

if (align) {
xfs_fileoff_t new_last_fsb = roundup_64(*last_fsb, align);
int eof, error;

error = xfs_bmap_eof(ip, new_last_fsb, XFS_DATA_FORK, &eof);
if (error)
return error;
Expand Down Expand Up @@ -180,7 +191,7 @@ xfs_iomap_write_direct(
*/
ASSERT(XFS_IFORK_PTR(ip, XFS_DATA_FORK)->if_flags &
XFS_IFEXTENTS);
error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb);
error = xfs_iomap_eof_align_last_fsb(ip, extsz, &last_fsb);
if (error)
goto out_unlock;
} else {
Expand Down Expand Up @@ -638,7 +649,7 @@ xfs_iomap_write_delay(
}

if (prealloc || extsz) {
error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb);
error = xfs_iomap_eof_align_last_fsb(ip, extsz, &last_fsb);
if (error)
return error;
}
Expand Down

0 comments on commit f8e3a82

Please sign in to comment.