Message ID | 20180723130414.47980-10-bfoster@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | xfs: embed dfops in the transaction | expand |
On Mon, Jul 23, 2018 at 09:04:08AM -0400, Brian Foster wrote: > All callers either explicitly initialize a dfops or pass a > transaction with an internal dfops. Drop the hacky old dfops > replacement logic and use the one associated with the transaction. > > Signed-off-by: Brian Foster <bfoster@redhat.com> Looks good. Reviewed-by: Bill O'Donnell <billodo@redhat.com> > --- > fs/xfs/xfs_reflink.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c > index 3143889097f1..c3f2a0d3e6f5 100644 > --- a/fs/xfs/xfs_reflink.c > +++ b/fs/xfs/xfs_reflink.c > @@ -483,8 +483,6 @@ xfs_reflink_cancel_cow_blocks( > struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); > struct xfs_bmbt_irec got, del; > struct xfs_iext_cursor icur; > - struct xfs_defer_ops dfops; > - struct xfs_defer_ops *odfops = (*tpp)->t_dfops; > int error = 0; > > if (!xfs_is_reflink_inode(ip)) > @@ -511,7 +509,8 @@ xfs_reflink_cancel_cow_blocks( > if (error) > break; > } else if (del.br_state == XFS_EXT_UNWRITTEN || cancel_real) { > - xfs_defer_init(*tpp, &dfops); > + ASSERT((*tpp)->t_dfops); > + ASSERT((*tpp)->t_firstblock == NULLFSBLOCK); > > /* Free the CoW orphan record. */ > error = xfs_refcount_free_cow_extent(ip->i_mount, > @@ -553,7 +552,6 @@ xfs_reflink_cancel_cow_blocks( > /* clear tag if cow fork is emptied */ > if (!ifp->if_bytes) > xfs_inode_clear_cowblocks_tag(ip); > - (*tpp)->t_dfops = odfops; > return error; > } > > -- > 2.17.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 23, 2018 at 09:04:08AM -0400, Brian Foster wrote: > All callers either explicitly initialize a dfops or pass a > transaction with an internal dfops. Drop the hacky old dfops > replacement logic and use the one associated with the transaction. > > Signed-off-by: Brian Foster <bfoster@redhat.com> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> --D > --- > fs/xfs/xfs_reflink.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c > index 3143889097f1..c3f2a0d3e6f5 100644 > --- a/fs/xfs/xfs_reflink.c > +++ b/fs/xfs/xfs_reflink.c > @@ -483,8 +483,6 @@ xfs_reflink_cancel_cow_blocks( > struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); > struct xfs_bmbt_irec got, del; > struct xfs_iext_cursor icur; > - struct xfs_defer_ops dfops; > - struct xfs_defer_ops *odfops = (*tpp)->t_dfops; > int error = 0; > > if (!xfs_is_reflink_inode(ip)) > @@ -511,7 +509,8 @@ xfs_reflink_cancel_cow_blocks( > if (error) > break; > } else if (del.br_state == XFS_EXT_UNWRITTEN || cancel_real) { > - xfs_defer_init(*tpp, &dfops); > + ASSERT((*tpp)->t_dfops); > + ASSERT((*tpp)->t_firstblock == NULLFSBLOCK); > > /* Free the CoW orphan record. */ > error = xfs_refcount_free_cow_extent(ip->i_mount, > @@ -553,7 +552,6 @@ xfs_reflink_cancel_cow_blocks( > /* clear tag if cow fork is emptied */ > if (!ifp->if_bytes) > xfs_inode_clear_cowblocks_tag(ip); > - (*tpp)->t_dfops = odfops; > return error; > } > > -- > 2.17.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 23, 2018 at 09:04:08AM -0400, Brian Foster wrote: > All callers either explicitly initialize a dfops or pass a > transaction with an internal dfops. Drop the hacky old dfops > replacement logic and use the one associated with the transaction. > > Signed-off-by: Brian Foster <bfoster@redhat.com> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de> -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 3143889097f1..c3f2a0d3e6f5 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -483,8 +483,6 @@ xfs_reflink_cancel_cow_blocks( struct xfs_ifork *ifp = XFS_IFORK_PTR(ip, XFS_COW_FORK); struct xfs_bmbt_irec got, del; struct xfs_iext_cursor icur; - struct xfs_defer_ops dfops; - struct xfs_defer_ops *odfops = (*tpp)->t_dfops; int error = 0; if (!xfs_is_reflink_inode(ip)) @@ -511,7 +509,8 @@ xfs_reflink_cancel_cow_blocks( if (error) break; } else if (del.br_state == XFS_EXT_UNWRITTEN || cancel_real) { - xfs_defer_init(*tpp, &dfops); + ASSERT((*tpp)->t_dfops); + ASSERT((*tpp)->t_firstblock == NULLFSBLOCK); /* Free the CoW orphan record. */ error = xfs_refcount_free_cow_extent(ip->i_mount, @@ -553,7 +552,6 @@ xfs_reflink_cancel_cow_blocks( /* clear tag if cow fork is emptied */ if (!ifp->if_bytes) xfs_inode_clear_cowblocks_tag(ip); - (*tpp)->t_dfops = odfops; return error; }
All callers either explicitly initialize a dfops or pass a transaction with an internal dfops. Drop the hacky old dfops replacement logic and use the one associated with the transaction. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_reflink.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)