Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3df41f9 authored by Dave Chinner's avatar Dave Chinner
Browse files

Merge branch 'xfs-4.10-misc-fixes-2' into iomap-4.10-directio

parents 9484ab1b f782088c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -433,8 +433,7 @@ iomap_page_mkwrite_actor(struct inode *inode, loff_t pos, loff_t length,
	struct page *page = data;
	int ret;

	ret = __block_write_begin_int(page, pos & ~PAGE_MASK, length,
			NULL, iomap);
	ret = __block_write_begin_int(page, pos, length, NULL, iomap);
	if (ret)
		return ret;

@@ -562,7 +561,7 @@ int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fi,
	}

	while (len > 0) {
		ret = iomap_apply(inode, start, len, 0, ops, &ctx,
		ret = iomap_apply(inode, start, len, IOMAP_REPORT, ops, &ctx,
				iomap_fiemap_actor);
		/* inode with no (attribute) mapping will give ENOENT */
		if (ret == -ENOENT)
+365 −366

File changed.

Preview size limit exceeded, changes collapsed.

+9 −8
Original line number Diff line number Diff line
@@ -190,6 +190,8 @@ void xfs_bmap_trace_exlist(struct xfs_inode *ip, xfs_extnum_t cnt,
#define	XFS_BMAP_TRACE_EXLIST(ip,c,w)
#endif

void	xfs_trim_extent(struct xfs_bmbt_irec *irec, xfs_fileoff_t bno,
		xfs_filblks_t len);
int	xfs_bmap_add_attrfork(struct xfs_inode *ip, int size, int rsvd);
void	xfs_bmap_local_to_extents_empty(struct xfs_inode *ip, int whichfork);
void	xfs_bmap_add_free(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
@@ -221,7 +223,11 @@ int xfs_bunmapi(struct xfs_trans *tp, struct xfs_inode *ip,
		xfs_fileoff_t bno, xfs_filblks_t len, int flags,
		xfs_extnum_t nexts, xfs_fsblock_t *firstblock,
		struct xfs_defer_ops *dfops, int *done);
int	xfs_bunmapi_cow(struct xfs_inode *ip, struct xfs_bmbt_irec *del);
int	xfs_bmap_del_extent_delay(struct xfs_inode *ip, int whichfork,
		xfs_extnum_t *idx, struct xfs_bmbt_irec *got,
		struct xfs_bmbt_irec *del);
void	xfs_bmap_del_extent_cow(struct xfs_inode *ip, xfs_extnum_t *idx,
		struct xfs_bmbt_irec *got, struct xfs_bmbt_irec *del);
int	xfs_check_nostate_extents(struct xfs_ifork *ifp, xfs_extnum_t idx,
		xfs_extnum_t num);
uint	xfs_default_attroffset(struct xfs_inode *ip);
@@ -231,14 +237,9 @@ int xfs_bmap_shift_extents(struct xfs_trans *tp, struct xfs_inode *ip,
		struct xfs_defer_ops *dfops, enum shift_direction direction,
		int num_exts);
int	xfs_bmap_split_extent(struct xfs_inode *ip, xfs_fileoff_t split_offset);
struct xfs_bmbt_rec_host *
	xfs_bmap_search_extents(struct xfs_inode *ip, xfs_fileoff_t bno,
		int fork, int *eofp, xfs_extnum_t *lastxp,
		struct xfs_bmbt_irec *gotp, struct xfs_bmbt_irec *prevp);
int	xfs_bmapi_reserve_delalloc(struct xfs_inode *ip, int whichfork,
		xfs_fileoff_t aoff, xfs_filblks_t len,
		struct xfs_bmbt_irec *got, struct xfs_bmbt_irec *prev,
		xfs_extnum_t *lastx, int eof);
		xfs_fileoff_t off, xfs_filblks_t len, xfs_filblks_t prealloc,
		struct xfs_bmbt_irec *got, xfs_extnum_t *lastx, int eof);

enum xfs_bmap_intent_type {
	XFS_BMAP_MAP = 1,
+1 −1
Original line number Diff line number Diff line
@@ -4826,7 +4826,7 @@ xfs_btree_calc_size(
	return rval;
}

int
static int
xfs_btree_count_blocks_helper(
	struct xfs_btree_cur	*cur,
	int			level,
+5 −12
Original line number Diff line number Diff line
@@ -199,9 +199,9 @@ xfs_defer_intake_work(
	struct xfs_defer_pending	*dfp;

	list_for_each_entry(dfp, &dop->dop_intake, dfp_list) {
		trace_xfs_defer_intake_work(tp->t_mountp, dfp);
		dfp->dfp_intent = dfp->dfp_type->create_intent(tp,
				dfp->dfp_count);
		trace_xfs_defer_intake_work(tp->t_mountp, dfp);
		list_sort(tp->t_mountp, &dfp->dfp_work,
				dfp->dfp_type->diff_items);
		list_for_each(li, &dfp->dfp_work)
@@ -221,21 +221,14 @@ xfs_defer_trans_abort(
	struct xfs_defer_pending	*dfp;

	trace_xfs_defer_trans_abort(tp->t_mountp, dop);
	/*
	 * If the transaction was committed, drop the intent reference
	 * since we're bailing out of here. The other reference is
	 * dropped when the intent hits the AIL.  If the transaction
	 * was not committed, the intent is freed by the intent item
	 * unlock handler on abort.
	 */
	if (!dop->dop_committed)
		return;

	/* Abort intent items. */
	/* Abort intent items that don't have a done item. */
	list_for_each_entry(dfp, &dop->dop_pending, dfp_list) {
		trace_xfs_defer_pending_abort(tp->t_mountp, dfp);
		if (!dfp->dfp_done)
		if (dfp->dfp_intent && !dfp->dfp_done) {
			dfp->dfp_type->abort_intent(dfp->dfp_intent);
			dfp->dfp_intent = NULL;
		}
	}

	/* Shut down FS. */
Loading