linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Eric Sandeen <sandeen@redhat.com>,
	Brian Foster <bfoster@redhat.com>,
	Dave Chinner <david@fromorbit.com>,
	Christoph Hellwig <hch@lst.de>
Subject: [PATCH 4.9 177/206] xfs: provide helper for counting extents from if_bytes
Date: Tue, 10 Jan 2017 14:37:40 +0100	[thread overview]
Message-ID: <20170110131511.042920361@linuxfoundation.org> (raw)
In-Reply-To: <20170110131502.767555407@linuxfoundation.org>

4.9-stable review patch.  If anyone has any objections, please let me know.

------------------


From: Eric Sandeen <sandeen@sandeen.net>

commit 5d829300bee000980a09ac2ccb761cb25867b67c upstream.

The open-coded pattern:

ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)

is all over the xfs code; provide a new helper
xfs_iext_count(ifp) to count the number of inline extents
in an inode fork.

[dchinner: pick up several missed conversions]

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/xfs/libxfs/xfs_bmap.c       |   49 +++++++++++++++++++----------------------
 fs/xfs/libxfs/xfs_inode_fork.c |   31 +++++++++++++++----------
 fs/xfs/libxfs/xfs_inode_fork.h |    1 
 fs/xfs/xfs_bmap_util.c         |   34 +++++++++++-----------------
 fs/xfs/xfs_inode_item.c        |    4 +--
 fs/xfs/xfs_ioctl.c             |    6 +----
 fs/xfs/xfs_qm.c                |    2 -
 fs/xfs/xfs_reflink.c           |    4 +--
 8 files changed, 64 insertions(+), 67 deletions(-)

--- a/fs/xfs/libxfs/xfs_bmap.c
+++ b/fs/xfs/libxfs/xfs_bmap.c
@@ -515,7 +515,7 @@ xfs_bmap_trace_exlist(
 		state |= BMAP_ATTRFORK;
 
 	ifp = XFS_IFORK_PTR(ip, whichfork);
-	ASSERT(cnt == (ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)));
+	ASSERT(cnt == xfs_iext_count(ifp));
 	for (idx = 0; idx < cnt; idx++)
 		trace_xfs_extlist(ip, idx, whichfork, caller_ip);
 }
@@ -811,7 +811,7 @@ try_another_ag:
 				XFS_BTREE_LONG_PTRS);
 
 	arp = XFS_BMBT_REC_ADDR(mp, ablock, 1);
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents =  xfs_iext_count(ifp);
 	for (cnt = i = 0; i < nextents; i++) {
 		ep = xfs_iext_get_ext(ifp, i);
 		if (!isnullstartblock(xfs_bmbt_get_startblock(ep))) {
@@ -1296,7 +1296,7 @@ xfs_bmap_read_extents(
 	/*
 	 * Here with bp and block set to the leftmost leaf node in the tree.
 	 */
-	room = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	room = xfs_iext_count(ifp);
 	i = 0;
 	/*
 	 * Loop over all leaf nodes.  Copy information to the extent records.
@@ -1361,7 +1361,7 @@ xfs_bmap_read_extents(
 			return error;
 		block = XFS_BUF_TO_BLOCK(bp);
 	}
-	ASSERT(i == (ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)));
+	ASSERT(i == xfs_iext_count(ifp));
 	ASSERT(i == XFS_IFORK_NEXTENTS(ip, whichfork));
 	XFS_BMAP_TRACE_EXLIST(ip, i, whichfork);
 	return 0;
@@ -1404,7 +1404,7 @@ xfs_bmap_search_multi_extents(
 	if (lastx > 0) {
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, lastx - 1), prevp);
 	}
-	if (lastx < (ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t))) {
+	if (lastx < xfs_iext_count(ifp)) {
 		xfs_bmbt_get_all(ep, gotp);
 		*eofp = 0;
 	} else {
@@ -1497,7 +1497,7 @@ xfs_bmap_first_unused(
 	    (error = xfs_iread_extents(tp, ip, whichfork)))
 		return error;
 	lowest = *first_unused;
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	for (idx = 0, lastaddr = 0, max = lowest; idx < nextents; idx++) {
 		xfs_bmbt_rec_host_t *ep = xfs_iext_get_ext(ifp, idx);
 		off = xfs_bmbt_get_startoff(ep);
@@ -1582,7 +1582,7 @@ xfs_bmap_last_extent(
 			return error;
 	}
 
-	nextents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	if (nextents == 0) {
 		*is_empty = 1;
 		return 0;
@@ -1735,7 +1735,7 @@ xfs_bmap_add_extent_delay_real(
 						&bma->ip->i_d.di_nextents);
 
 	ASSERT(bma->idx >= 0);
-	ASSERT(bma->idx <= ifp->if_bytes / sizeof(struct xfs_bmbt_rec));
+	ASSERT(bma->idx <= xfs_iext_count(ifp));
 	ASSERT(!isnullstartblock(new->br_startblock));
 	ASSERT(!bma->cur ||
 	       (bma->cur->bc_private.b.flags & XFS_BTCUR_BPRV_WASDEL));
@@ -1794,7 +1794,7 @@ xfs_bmap_add_extent_delay_real(
 	 * Don't set contiguous if the combined extent would be too large.
 	 * Also check for all-three-contiguous being too large.
 	 */
-	if (bma->idx < ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t) - 1) {
+	if (bma->idx < xfs_iext_count(ifp) - 1) {
 		state |= BMAP_RIGHT_VALID;
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx + 1), &RIGHT);
 
@@ -2300,7 +2300,7 @@ xfs_bmap_add_extent_unwritten_real(
 	ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);
 
 	ASSERT(*idx >= 0);
-	ASSERT(*idx <= ifp->if_bytes / sizeof(struct xfs_bmbt_rec));
+	ASSERT(*idx <= xfs_iext_count(ifp));
 	ASSERT(!isnullstartblock(new->br_startblock));
 
 	XFS_STATS_INC(mp, xs_add_exlist);
@@ -2356,7 +2356,7 @@ xfs_bmap_add_extent_unwritten_real(
 	 * Don't set contiguous if the combined extent would be too large.
 	 * Also check for all-three-contiguous being too large.
 	 */
-	if (*idx < ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t) - 1) {
+	if (*idx < xfs_iext_count(&ip->i_df) - 1) {
 		state |= BMAP_RIGHT_VALID;
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx + 1), &RIGHT);
 		if (isnullstartblock(RIGHT.br_startblock))
@@ -2836,7 +2836,7 @@ xfs_bmap_add_extent_hole_delay(
 	 * Check and set flags if the current (right) segment exists.
 	 * If it doesn't exist, we're converting the hole at end-of-file.
 	 */
-	if (*idx < ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)) {
+	if (*idx < xfs_iext_count(ifp)) {
 		state |= BMAP_RIGHT_VALID;
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx), &right);
 
@@ -2966,7 +2966,7 @@ xfs_bmap_add_extent_hole_real(
 	ifp = XFS_IFORK_PTR(bma->ip, whichfork);
 
 	ASSERT(bma->idx >= 0);
-	ASSERT(bma->idx <= ifp->if_bytes / sizeof(struct xfs_bmbt_rec));
+	ASSERT(bma->idx <= xfs_iext_count(ifp));
 	ASSERT(!isnullstartblock(new->br_startblock));
 	ASSERT(!bma->cur ||
 	       !(bma->cur->bc_private.b.flags & XFS_BTCUR_BPRV_WASDEL));
@@ -2992,7 +2992,7 @@ xfs_bmap_add_extent_hole_real(
 	 * Check and set flags if this segment has a current value.
 	 * Not true if we're inserting into the "hole" at eof.
 	 */
-	if (bma->idx < ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)) {
+	if (bma->idx < xfs_iext_count(ifp)) {
 		state |= BMAP_RIGHT_VALID;
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx), &right);
 		if (isnullstartblock(right.br_startblock))
@@ -4221,7 +4221,7 @@ xfs_bmapi_read(
 			break;
 
 		/* Else go on to the next record. */
-		if (++lastx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t))
+		if (++lastx < xfs_iext_count(ifp))
 			xfs_bmbt_get_all(xfs_iext_get_ext(ifp, lastx), &got);
 		else
 			eof = 1;
@@ -4733,7 +4733,7 @@ xfs_bmapi_write(
 
 		/* Else go on to the next record. */
 		bma.prev = bma.got;
-		if (++bma.idx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t)) {
+		if (++bma.idx < xfs_iext_count(ifp)) {
 			xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma.idx),
 					 &bma.got);
 		} else
@@ -4885,7 +4885,7 @@ xfs_bmap_del_extent_delay(
 	da_new = 0;
 
 	ASSERT(*idx >= 0);
-	ASSERT(*idx < ifp->if_bytes / sizeof(struct xfs_bmbt_rec));
+	ASSERT(*idx <= xfs_iext_count(ifp));
 	ASSERT(del->br_blockcount > 0);
 	ASSERT(got->br_startoff <= del->br_startoff);
 	ASSERT(got_endoff >= del_endoff);
@@ -5016,7 +5016,7 @@ xfs_bmap_del_extent_cow(
 	got_endoff = got->br_startoff + got->br_blockcount;
 
 	ASSERT(*idx >= 0);
-	ASSERT(*idx < ifp->if_bytes / sizeof(struct xfs_bmbt_rec));
+	ASSERT(*idx <= xfs_iext_count(ifp));
 	ASSERT(del->br_blockcount > 0);
 	ASSERT(got->br_startoff <= del->br_startoff);
 	ASSERT(got_endoff >= del_endoff);
@@ -5122,8 +5122,7 @@ xfs_bmap_del_extent(
 		state |= BMAP_COWFORK;
 
 	ifp = XFS_IFORK_PTR(ip, whichfork);
-	ASSERT((*idx >= 0) && (*idx < ifp->if_bytes /
-		(uint)sizeof(xfs_bmbt_rec_t)));
+	ASSERT((*idx >= 0) && (*idx < xfs_iext_count(ifp)));
 	ASSERT(del->br_blockcount > 0);
 	ep = xfs_iext_get_ext(ifp, *idx);
 	xfs_bmbt_get_all(ep, &got);
@@ -5448,7 +5447,6 @@ __xfs_bunmapi(
 	int			logflags;	/* transaction logging flags */
 	xfs_extlen_t		mod;		/* rt extent offset */
 	xfs_mount_t		*mp;		/* mount structure */
-	xfs_extnum_t		nextents;	/* number of file extents */
 	xfs_bmbt_irec_t		prev;		/* previous extent record */
 	xfs_fileoff_t		start;		/* first file offset deleted */
 	int			tmp_logflags;	/* partial logging flags */
@@ -5480,8 +5478,7 @@ __xfs_bunmapi(
 	if (!(ifp->if_flags & XFS_IFEXTENTS) &&
 	    (error = xfs_iread_extents(tp, ip, whichfork)))
 		return error;
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
-	if (nextents == 0) {
+	if (xfs_iext_count(ifp) == 0) {
 		*rlen = 0;
 		return 0;
 	}
@@ -5966,7 +5963,7 @@ xfs_bmse_shift_one(
 
 	mp = ip->i_mount;
 	ifp = XFS_IFORK_PTR(ip, whichfork);
-	total_extents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);
+	total_extents = xfs_iext_count(ifp);
 
 	xfs_bmbt_get_all(gotp, &got);
 
@@ -6143,7 +6140,7 @@ xfs_bmap_shift_extents(
 	 * are collapsing out, so we cannot use the count of real extents here.
 	 * Instead we have to calculate it from the incore fork.
 	 */
-	total_extents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);
+	total_extents = xfs_iext_count(ifp);
 	if (total_extents == 0) {
 		*done = 1;
 		goto del_cursor;
@@ -6203,7 +6200,7 @@ xfs_bmap_shift_extents(
 		 * count can change. Update the total and grade the next record.
 		 */
 		if (direction == SHIFT_LEFT) {
-			total_extents = ifp->if_bytes / sizeof(xfs_bmbt_rec_t);
+			total_extents = xfs_iext_count(ifp);
 			stop_extent = total_extents;
 		}
 
--- a/fs/xfs/libxfs/xfs_inode_fork.c
+++ b/fs/xfs/libxfs/xfs_inode_fork.c
@@ -775,6 +775,13 @@ xfs_idestroy_fork(
 	}
 }
 
+/* Count number of incore extents based on if_bytes */
+xfs_extnum_t
+xfs_iext_count(struct xfs_ifork *ifp)
+{
+	return ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+}
+
 /*
  * Convert in-core extents to on-disk form
  *
@@ -803,7 +810,7 @@ xfs_iextents_copy(
 	ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL|XFS_ILOCK_SHARED));
 	ASSERT(ifp->if_bytes > 0);
 
-	nrecs = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nrecs = xfs_iext_count(ifp);
 	XFS_BMAP_TRACE_EXLIST(ip, nrecs, whichfork);
 	ASSERT(nrecs > 0);
 
@@ -941,7 +948,7 @@ xfs_iext_get_ext(
 	xfs_extnum_t	idx)		/* index of target extent */
 {
 	ASSERT(idx >= 0);
-	ASSERT(idx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t));
+	ASSERT(idx < xfs_iext_count(ifp));
 
 	if ((ifp->if_flags & XFS_IFEXTIREC) && (idx == 0)) {
 		return ifp->if_u1.if_ext_irec->er_extbuf;
@@ -1017,7 +1024,7 @@ xfs_iext_add(
 	int		new_size;	/* size of extents after adding */
 	xfs_extnum_t	nextents;	/* number of extents in file */
 
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	ASSERT((idx >= 0) && (idx <= nextents));
 	byte_diff = ext_diff * sizeof(xfs_bmbt_rec_t);
 	new_size = ifp->if_bytes + byte_diff;
@@ -1241,7 +1248,7 @@ xfs_iext_remove(
 	trace_xfs_iext_remove(ip, idx, state, _RET_IP_);
 
 	ASSERT(ext_diff > 0);
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	new_size = (nextents - ext_diff) * sizeof(xfs_bmbt_rec_t);
 
 	if (new_size == 0) {
@@ -1270,7 +1277,7 @@ xfs_iext_remove_inline(
 
 	ASSERT(!(ifp->if_flags & XFS_IFEXTIREC));
 	ASSERT(idx < XFS_INLINE_EXTS);
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	ASSERT(((nextents - ext_diff) > 0) &&
 		(nextents - ext_diff) < XFS_INLINE_EXTS);
 
@@ -1309,7 +1316,7 @@ xfs_iext_remove_direct(
 	ASSERT(!(ifp->if_flags & XFS_IFEXTIREC));
 	new_size = ifp->if_bytes -
 		(ext_diff * sizeof(xfs_bmbt_rec_t));
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 
 	if (new_size == 0) {
 		xfs_iext_destroy(ifp);
@@ -1546,7 +1553,7 @@ xfs_iext_indirect_to_direct(
 	int		size;		/* size of file extents */
 
 	ASSERT(ifp->if_flags & XFS_IFEXTIREC);
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	ASSERT(nextents <= XFS_LINEAR_EXTS);
 	size = nextents * sizeof(xfs_bmbt_rec_t);
 
@@ -1620,7 +1627,7 @@ xfs_iext_bno_to_ext(
 	xfs_extnum_t	nextents;	/* number of file extents */
 	xfs_fileoff_t	startoff = 0;	/* start offset of extent */
 
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	if (nextents == 0) {
 		*idxp = 0;
 		return NULL;
@@ -1733,8 +1740,8 @@ xfs_iext_idx_to_irec(
 
 	ASSERT(ifp->if_flags & XFS_IFEXTIREC);
 	ASSERT(page_idx >= 0);
-	ASSERT(page_idx <= ifp->if_bytes / sizeof(xfs_bmbt_rec_t));
-	ASSERT(page_idx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t) || realloc);
+	ASSERT(page_idx <= xfs_iext_count(ifp));
+	ASSERT(page_idx < xfs_iext_count(ifp) || realloc);
 
 	nlists = ifp->if_real_bytes / XFS_IEXT_BUFSZ;
 	erp_idx = 0;
@@ -1782,7 +1789,7 @@ xfs_iext_irec_init(
 	xfs_extnum_t	nextents;	/* number of extents in file */
 
 	ASSERT(!(ifp->if_flags & XFS_IFEXTIREC));
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	ASSERT(nextents <= XFS_LINEAR_EXTS);
 
 	erp = kmem_alloc(sizeof(xfs_ext_irec_t), KM_NOFS);
@@ -1906,7 +1913,7 @@ xfs_iext_irec_compact(
 
 	ASSERT(ifp->if_flags & XFS_IFEXTIREC);
 	nlists = ifp->if_real_bytes / XFS_IEXT_BUFSZ;
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 
 	if (nextents == 0) {
 		xfs_iext_destroy(ifp);
--- a/fs/xfs/libxfs/xfs_inode_fork.h
+++ b/fs/xfs/libxfs/xfs_inode_fork.h
@@ -152,6 +152,7 @@ void		xfs_init_local_fork(struct xfs_ino
 
 struct xfs_bmbt_rec_host *
 		xfs_iext_get_ext(struct xfs_ifork *, xfs_extnum_t);
+xfs_extnum_t	xfs_iext_count(struct xfs_ifork *);
 void		xfs_iext_insert(struct xfs_inode *, xfs_extnum_t, xfs_extnum_t,
 				struct xfs_bmbt_irec *, int);
 void		xfs_iext_add(struct xfs_ifork *, xfs_extnum_t, int);
--- a/fs/xfs/xfs_bmap_util.c
+++ b/fs/xfs/xfs_bmap_util.c
@@ -359,9 +359,7 @@ xfs_bmap_count_blocks(
 	mp = ip->i_mount;
 	ifp = XFS_IFORK_PTR(ip, whichfork);
 	if ( XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS ) {
-		xfs_bmap_count_leaves(ifp, 0,
-			ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t),
-			count);
+		xfs_bmap_count_leaves(ifp, 0, xfs_iext_count(ifp), count);
 		return 0;
 	}
 
@@ -426,7 +424,7 @@ xfs_getbmapx_fix_eof_hole(
 		ifp = XFS_IFORK_PTR(ip, whichfork);
 		if (!moretocome &&
 		    xfs_iext_bno_to_ext(ifp, fileblock, &lastx) &&
-		   (lastx == (ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t))-1))
+		   (lastx == xfs_iext_count(ifp) - 1))
 			out->bmv_oflags |= BMV_OF_LAST;
 	}
 
@@ -1878,15 +1876,13 @@ xfs_swap_extent_forks(
 
 	switch (ip->i_d.di_format) {
 	case XFS_DINODE_FMT_EXTENTS:
-		/* If the extents fit in the inode, fix the
-		 * pointer.  Otherwise it's already NULL or
-		 * pointing to the extent.
+		/*
+		 * If the extents fit in the inode, fix the pointer.  Otherwise
+		 * it's already NULL or pointing to the extent.
 		 */
-		nextents = ip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
-		if (nextents <= XFS_INLINE_EXTS) {
-			ifp->if_u1.if_extents =
-				ifp->if_u2.if_inline_ext;
-		}
+		nextents = xfs_iext_count(&ip->i_df);
+		if (nextents <= XFS_INLINE_EXTS)
+			ifp->if_u1.if_extents = ifp->if_u2.if_inline_ext;
 		(*src_log_flags) |= XFS_ILOG_DEXT;
 		break;
 	case XFS_DINODE_FMT_BTREE:
@@ -1898,15 +1894,13 @@ xfs_swap_extent_forks(
 
 	switch (tip->i_d.di_format) {
 	case XFS_DINODE_FMT_EXTENTS:
-		/* If the extents fit in the inode, fix the
-		 * pointer.  Otherwise it's already NULL or
-		 * pointing to the extent.
+		/*
+		 * If the extents fit in the inode, fix the pointer.  Otherwise
+		 * it's already NULL or pointing to the extent.
 		 */
-		nextents = tip->i_df.if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
-		if (nextents <= XFS_INLINE_EXTS) {
-			tifp->if_u1.if_extents =
-				tifp->if_u2.if_inline_ext;
-		}
+		nextents = xfs_iext_count(&tip->i_df);
+		if (nextents <= XFS_INLINE_EXTS)
+			tifp->if_u1.if_extents = tifp->if_u2.if_inline_ext;
 		(*target_log_flags) |= XFS_ILOG_DEXT;
 		break;
 	case XFS_DINODE_FMT_BTREE:
--- a/fs/xfs/xfs_inode_item.c
+++ b/fs/xfs/xfs_inode_item.c
@@ -164,7 +164,7 @@ xfs_inode_item_format_data_fork(
 			struct xfs_bmbt_rec *p;
 
 			ASSERT(ip->i_df.if_u1.if_extents != NULL);
-			ASSERT(ip->i_df.if_bytes / sizeof(xfs_bmbt_rec_t) > 0);
+			ASSERT(xfs_iext_count(&ip->i_df) > 0);
 
 			p = xlog_prepare_iovec(lv, vecp, XLOG_REG_TYPE_IEXT);
 			data_bytes = xfs_iextents_copy(ip, p, XFS_DATA_FORK);
@@ -261,7 +261,7 @@ xfs_inode_item_format_attr_fork(
 		    ip->i_afp->if_bytes > 0) {
 			struct xfs_bmbt_rec *p;
 
-			ASSERT(ip->i_afp->if_bytes / sizeof(xfs_bmbt_rec_t) ==
+			ASSERT(xfs_iext_count(ip->i_afp) ==
 				ip->i_d.di_anextents);
 			ASSERT(ip->i_afp->if_u1.if_extents != NULL);
 
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -910,16 +910,14 @@ xfs_ioc_fsgetxattr(
 	if (attr) {
 		if (ip->i_afp) {
 			if (ip->i_afp->if_flags & XFS_IFEXTENTS)
-				fa.fsx_nextents = ip->i_afp->if_bytes /
-							sizeof(xfs_bmbt_rec_t);
+				fa.fsx_nextents = xfs_iext_count(ip->i_afp);
 			else
 				fa.fsx_nextents = ip->i_d.di_anextents;
 		} else
 			fa.fsx_nextents = 0;
 	} else {
 		if (ip->i_df.if_flags & XFS_IFEXTENTS)
-			fa.fsx_nextents = ip->i_df.if_bytes /
-						sizeof(xfs_bmbt_rec_t);
+			fa.fsx_nextents = xfs_iext_count(&ip->i_df);
 		else
 			fa.fsx_nextents = ip->i_d.di_nextents;
 	}
--- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c
@@ -1135,7 +1135,7 @@ xfs_qm_get_rtblks(
 			return error;
 	}
 	rtblks = 0;
-	nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t);
+	nextents = xfs_iext_count(ifp);
 	for (idx = 0; idx < nextents; idx++)
 		rtblks += xfs_bmbt_get_blockcount(xfs_iext_get_ext(ifp, idx));
 	*O_rtblks = (xfs_qcnt_t)rtblks;
--- a/fs/xfs/xfs_reflink.c
+++ b/fs/xfs/xfs_reflink.c
@@ -486,7 +486,7 @@ xfs_reflink_trim_irec_to_next_cow(
 	/* This is the extent before; try sliding up one. */
 	if (irec.br_startoff < offset_fsb) {
 		idx++;
-		if (idx >= ifp->if_bytes / sizeof(xfs_bmbt_rec_t))
+		if (idx >= xfs_iext_count(ifp))
 			return 0;
 		gotp = xfs_iext_get_ext(ifp, idx);
 		xfs_bmbt_get_all(gotp, &irec);
@@ -566,7 +566,7 @@ xfs_reflink_cancel_cow_blocks(
 			xfs_bmap_del_extent_cow(ip, &idx, &got, &del);
 		}
 
-		if (++idx >= ifp->if_bytes / sizeof(struct xfs_bmbt_rec))
+		if (++idx >= xfs_iext_count(ifp))
 			break;
 		xfs_bmbt_get_all(xfs_iext_get_ext(ifp, idx), &got);
 	}

  parent reply	other threads:[~2017-01-10 13:52 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170110134513epcas2p2c646e3ea1a7830fa21492a70ab52e81a@epcas2p2.samsung.com>
2017-01-10 13:34 ` [PATCH 4.9 000/206] 4.9.3-stable review Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 001/206] iio: common: st_sensors: fix channel data parsing Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 002/206] iio: max44000: correct value in illuminance_integration_time_available Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 003/206] iio: bmi160: Fix time needed to sleep after command execution Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 004/206] staging: octeon: Call SET_NETDEV_DEV() Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 005/206] ALSA: hda - Fix up GPIO for ASUS ROG Ranger Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 006/206] ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 007/206] ALSA: usb-audio: Fix irq/process data synchronization Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 008/206] fscrypt: fix renaming and linking special files Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 009/206] parisc: Add line-break when printing segfault info Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 010/206] parisc: Mark cr16 clocksource unstable on SMP systems Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 011/206] HID: sensor-hub: Move the memset to sensor_hub_get_feature() Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 012/206] ARM: davinci: da850: dont add emac clock to lookup table twice Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 013/206] pinctrl/amd: Set the level based on ACPI tables Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 014/206] mac80211: initialize fast-xmit info later Greg Kroah-Hartman
2017-01-10 13:34   ` [PATCH 4.9 016/206] gcc-plugins: update gcc-common.h for gcc-7 Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 021/206] KVM: x86: reset MMU on KVM_SET_VCPU_EVENTS Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 024/206] usb: musb: core: add clear_ep_rxintr() to musb_platform_ops Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 025/206] usb: musb: dsps: implement clear_ep_rxintr() callback Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 026/206] usb: storage: unusual_uas: Add JMicron JMS56x to unusual device Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 027/206] usb: gadgetfs: restrict upper bound on device configuration size Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 028/206] USB: gadgetfs: fix unbounded memory allocation bug Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 029/206] USB: gadgetfs: fix use-after-free bug Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 030/206] USB: gadgetfs: fix checks of wTotalLength in config descriptors Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 031/206] USB: fix problems with duplicate endpoint addresses Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 032/206] USB: dummy-hcd: fix bug in stop_activity (handle ep0) Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 033/206] usb: gadget: composite: Test get_alt() presence instead of set_alt() Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 034/206] usb: dwc3: core: avoid Overflow events Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 035/206] usb: xhci: fix possible wild pointer Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 036/206] usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Apollo Lake Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 037/206] xhci: free xhci virtual devices with leaf nodes first Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 038/206] usb: xhci: fix return value of xhci_setup_device() Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 039/206] usb: host: xhci: Fix possible wild pointer when handling abort command Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 040/206] xhci: Handle command completion and timeout race Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 041/206] usb: xhci: hold lock over xhci_abort_cmd_ring() Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 042/206] usb: return error code when platform_get_irq fails Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 043/206] USB: serial: omninet: fix NULL-derefs at open and disconnect Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 044/206] USB: serial: quatech2: fix sleep-while-atomic in close Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 045/206] USB: serial: pl2303: fix NULL-deref at open Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 046/206] USB: serial: keyspan_pda: verify endpoints at probe Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 047/206] USB: serial: spcp8x5: fix NULL-deref at open Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 048/206] USB: serial: io_ti: " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 049/206] USB: serial: io_ti: fix another " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 050/206] USB: serial: io_ti: fix I/O after disconnect Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 051/206] USB: serial: iuu_phoenix: fix NULL-deref at open Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 052/206] USB: serial: garmin_gps: fix memory leak on failed URB submit Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 053/206] USB: serial: ti_usb_3410_5052: fix NULL-deref at open Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 054/206] USB: serial: io_edgeport: " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 055/206] USB: serial: oti6858: " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 056/206] USB: serial: cyberjack: " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 057/206] USB: serial: kobil_sct: fix NULL-deref in write Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 058/206] USB: serial: mos7840: fix NULL-deref at open Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 059/206] USB: serial: mos7720: " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 060/206] USB: serial: mos7720: fix use-after-free on probe errors Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 061/206] USB: serial: mos7720: fix parport " Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 062/206] USB: serial: mos7720: fix parallel probe Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 063/206] usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 064/206] xhci: Use delayed_work instead of timer for command timeout Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 065/206] xhci: Fix race related to abort operation Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 066/206] usb: dwc3: pci: add Intel Gemini Lake PCI ID Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 067/206] usb: dwc3: pci: Fix dr_mode misspelling Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 068/206] usb: dwc3: gadget: Fix full speed mode Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 069/206] usb: musb: Fix trying to free already-free IRQ 4 Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 073/206] ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream() Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 074/206] USB: serial: kl5kusb105: abort on open exception path Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 075/206] usb: gadget: Fix second argument of percpu_ida_alloc() Greg Kroah-Hartman
2017-01-10 13:35   ` [PATCH 4.9 076/206] usb: gadget: fix request length error for isoc transfer Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 077/206] ARM: dts: r8a7794: Correct hsusb parent clock Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 078/206] USB: phy: am335x-control: fix device and of_node leaks Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 079/206] arm64: dts: hip06: Correct hardware pin number of usb node Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 080/206] ARM: dts: sun7i: bananapi-m1-plus: Enable USB PHY for USB host support Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 081/206] [media] dibusb: fix possible memory leak in dibusb_rc_query() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 082/206] USB: serial: io_ti: bind to interface after fw download Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 083/206] mei: fix parameter rename KDoc Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 084/206] mei: bus: fix mei_cldev_enable KDoc Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 085/206] mei: move write cb to completion on credentials failures Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 086/206] staging: iio: ad7606: fix improper setting of oversampling pins Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 087/206] iio: accel: st_accel: fix LIS3LV02 reading and scaling Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 088/206] usb: dwc3: ep0: add dwc3_ep0_prepare_one_trb() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 089/206] usb: dwc3: ep0: explicitly call dwc3_ep0_prepare_one_trb() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 090/206] usb: dwc3: gadget: always unmap EP0 requests Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 093/206] mac80211: fix tid_agg_rx NULL dereference Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 094/206] nl80211: Use different attrs for BSSID and random MAC addr in scan req Greg Kroah-Hartman
2017-07-21  9:40     ` Krishna Vamsi
2017-07-21 10:22       ` Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 095/206] ath10k: fix failure to send NULL func frame for 10.4 Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 096/206] mfd: tps65217: Fix page fault on unloading modules Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 097/206] ath10k: use the right length of "background" Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 098/206] cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 099/206] efi/efivar_ssdt_load: Dont return success on allocation failure Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 100/206] clk: renesas: cpg-mssr: Fix inverted debug check Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 102/206] x86/prctl/uapi: Remove #ifdef for CHECKPOINT_RESTORE Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 103/206] x86/cpu: Probe CPUID leaf 6 even when cpuid_level == 6 Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 105/206] hwmon: (scpi) Fix module autoload Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 106/206] hwmon: (amc6821) sign extension temperature Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 107/206] hwmon: (ds620) Fix overflows seen when writing temperature limits Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 108/206] hwmon: (nct7802) Fix overflows seen when writing into limit attributes Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 109/206] hwmon: (g762) Fix overflows and crash seen when writing " Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 110/206] hwmon: (lm90) fix temp1_max_alarm attribute Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 111/206] Input: synaptics-rmi4 - unlock on error Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 112/206] clk: qcom: ipq806x: Fix board clk rates Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 113/206] clk: clk-wm831x: fix a logic error Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 114/206] clk: ti: dra7: fix "failed to lookup clock node gmac_gmii_ref_clk_div" boot message Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 115/206] clk: sunxi-ng: sun8i-a23: Set CLK_SET_RATE_PARENT for audio module clocks Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 116/206] clk: sunxi-ng: sun8i-h3: " Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 118/206] clk: renesas: mstp: Support 8-bit registers for r7s72100 Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 119/206] iommu/amd: Missing error code in amd_iommu_init_device() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 120/206] iommu/amd: Fix the left value check of cmd buffer Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 121/206] iommu/vt-d: Fix pasid table size encoding Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 122/206] iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 124/206] ASoC: cht_bsw_rt5645: Fix leftover kmalloc Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 125/206] ASoC: Intel: Skylake: Fix a shift wrapping bug Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 126/206] ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 127/206] scsi: g_NCR5380: Fix release_region in error handling Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 128/206] scsi: mvsas: fix command_active typo Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 129/206] target/iscsi: Fix double free in lio_target_tiqn_addtpg() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 130/206] sbp-target: Fix second argument of percpu_ida_alloc() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 131/206] relay: check array offset before using it Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 132/206] ima: fix memory leak in ima_release_policy Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 133/206] PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity() Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 134/206] irqchip/bcm7038-l1: Implement irq_cpu_offline() callback Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 135/206] PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend Greg Kroah-Hartman
2017-01-10 13:36   ` [PATCH 4.9 136/206] genirq/affinity: Fix node generation from cpumask Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 137/206] mmc: mmc_test: Uninitialized return value Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 138/206] rpmsg: qcom_smd: Correct return value for O_NONBLOCK Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 139/206] mm/hugetlb.c: use the right pte val for compare in hugetlb_cow Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 140/206] docs-rst: fix LaTeX \DURole renewcommand with Sphinx 1.3+ Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 141/206] mm: khugepaged: close use-after-free race during shmem collapsing Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 142/206] mm: khugepaged: fix radix tree node leak in shmem collapse error path Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 143/206] mm, compaction: fix NR_ISOLATED_* stats for pfn based migration Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 144/206] s390/crypto: unlock on error in prng_tdes_read() Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 145/206] crypto: arm64/sha2-ce - fix for big endian Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 146/206] crypto: arm64/ghash-ce " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 147/206] crypto: arm/aes-ce " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 148/206] crypto: arm64/aes-ccm-ce: " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 149/206] crypto: arm64/aes-neon - " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 150/206] crypto: arm64/sha1-ce " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 151/206] crypto: arm64/aes-xts-ce: " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 152/206] crypto: arm64/aes-ce - " Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 153/206] md: MD_RECOVERY_NEEDED is set for mddev->recovery Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 154/206] md: fix refcount problem on mddev when stopping array Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 155/206] f2fs: remove percpu_count due to performance regression Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 157/206] [media] staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs() Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 158/206] PCI: rockchip: Fix negotiated lanes calculation Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 159/206] PCI: rockchip: Correct the use of FTS mask Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 160/206] PCI: Add Mellanox device IDs Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 161/206] PCI: Convert broken INTx masking quirks from HEADER to FINAL Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 162/206] PCI: Convert Mellanox broken INTx quirks to be for listed devices only Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 163/206] PCI: Support INTx masking on ConnectX-4 with firmware x.14.1100+ Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 164/206] PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3) Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 165/206] powerpc/pci/rpadlpar: Fix device reference leaks Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 166/206] s390/topology: always use s390 specific sched_domain_topology_level Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 167/206] s390/pci: fix dma address calculation in map_sg Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 169/206] drm/i915: disable PSR by default on HSW/BDW Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 170/206] drm/i915/gen9: unconditionally apply the memory bandwidth WA Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 171/206] drm/i915/gen9: fix the WM memory bandwidth WA for Y tiling cases Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 172/206] tpm_tis: Check return values from get_burstcount Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 173/206] xfs: dont call xfs_sb_quota_from_disk twice Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 174/206] xfs: check return value of _trans_reserve_quota_nblks Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 175/206] xfs: dont skip cow forks w/ delalloc blocks in cowblocks scan Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 176/206] xfs: dont BUG() on mixed direct and mapped I/O Greg Kroah-Hartman
2017-01-10 13:37   ` Greg Kroah-Hartman [this message]
2017-01-10 13:37   ` [PATCH 4.9 178/206] xfs: check minimum block size for CRC filesystems Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 179/206] xfs: fix unbalanced inode reclaim flush locking Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 180/206] xfs: new inode extent list lookup helpers Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 181/206] xfs: factor rmap btree size into the indlen calculations Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 182/206] xfs: always succeed when deduping zero bytes Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 183/206] xfs: remove prev argument to xfs_bmapi_reserve_delalloc Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 184/206] xfs: track preallocation separately in xfs_bmapi_reserve_delalloc() Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 185/206] xfs: use new extent lookup helpers in __xfs_reflink_reserve_cow Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 186/206] xfs: clean up cow fork reservation and tag inodes correctly Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 187/206] xfs: use new extent lookup helpers xfs_file_iomap_begin_delay Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 188/206] xfs: pass post-eof speculative prealloc blocks to bmapi Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 189/206] xfs: Move AGI buffer type setting to xfs_read_agi Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 190/206] xfs: pass state not whichfork to trace_xfs_extlist Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 191/206] xfs: handle cow fork in xfs_bmap_trace_exlist Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 192/206] xfs: forbid AG btrees with level == 0 Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 193/206] xfs: check for bogus values in btree block headers Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 194/206] xfs: complain if we dont get nextents bmap records Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 195/206] xfs: dont crash if reading a directory results in an unexpected hole Greg Kroah-Hartman
2017-01-10 13:37   ` [PATCH 4.9 196/206] xfs: error out if trying to add attrs and anextents > 0 Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 197/206] xfs: dont allow di_size with high bit set Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 198/206] xfs: dont cap maximum dedupe request length Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 199/206] xfs: ignore leaf attr ichdr.count in verifier during log replay Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 200/206] xfs: use GPF_NOFS when allocating btree cursors Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 201/206] xfs: fix double-cleanup when CUI recovery fails Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 202/206] xfs: use the actual AG length when reserving blocks Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 203/206] xfs: fix crash and data corruption due to removal of busy COW extents Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 204/206] xfs: fix max_retries _show and _store functions Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 205/206] clocksource/dummy_timer: Move hotplug callback after the real timers Greg Kroah-Hartman
2017-01-10 13:38   ` [PATCH 4.9 206/206] tick/broadcast: Prevent NULL pointer dereference Greg Kroah-Hartman
2017-01-10 17:33   ` [PATCH 4.9 000/206] 4.9.3-stable review Shuah Khan
2017-01-10 17:40     ` Greg Kroah-Hartman
2017-01-10 22:28   ` Guenter Roeck
2017-01-11  6:51     ` Greg Kroah-Hartman
2017-01-11 11:05       ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170110131511.042920361@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bfoster@redhat.com \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sandeen@redhat.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).