[PATCH 01/11] libxfs: remove i_transp

Eric Sandeen
2019-05-10T20:18:43Z

i_transp was removed from kernel code back in 2011, but it was left
in userspace. It's only used in a few asserts in transaction code
(as it was in the kernel) so there doesnt' seem to be a compelling
reason to carry it around anymore.

Source kernel commit: f3ca87389dbff0a3dc1a7cb2fa7c62e25421c66c

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
include/xfs_inode.h | 1 -
libxfs/trans.c | 11 -----------
2 files changed, 12 deletions(-)

diff --git a/include/xfs_inode.h b/include/xfs_inode.h
index 52d79f3..88b58ac 100644
--- a/include/xfs_inode.h
+++ b/include/xfs_inode.h
@@ -41,7 +41,6 @@ typedef struct xfs_inode {
struct xfs_ifork *i_afp; /* attribute fork pointer */
struct xfs_ifork *i_cowfp; /* copy on write extents */
struct xfs_ifork i_df; /* data fork */
- struct xfs_trans *i_transp; /* ptr to owning transaction */
struct xfs_inode_log_item *i_itemp; /* logging information */
unsigned int i_delayed_blks; /* count of delay alloc blks */
struct xfs_icdinode i_d; /* most of ondisk inode */
diff --git a/libxfs/trans.c b/libxfs/trans.c
index db90624..101019b 100644
--- a/libxfs/trans.c
+++ b/libxfs/trans.c
@@ -344,7 +344,6 @@ libxfs_trans_ijoin(
{
xfs_inode_log_item_t *iip;

- ASSERT(ip->i_transp == NULL);
if (ip->i_itemp == NULL)
xfs_inode_item_init(ip, ip->i_mount);
iip = ip->i_itemp;
@@ -356,7 +355,6 @@ libxfs_trans_ijoin(

xfs_trans_add_item(tp, (xfs_log_item_t *)(iip));

- ip->i_transp = tp;
#ifdef XACT_DEBUG
fprintf(stderr, "ijoin'd inode %llu, transaction %p\n", ip->i_ino, tp);
#endif
@@ -368,7 +366,6 @@ libxfs_trans_ijoin_ref(
xfs_inode_t *ip,
int lock_flags)
{
- ASSERT(ip->i_transp == tp);
ASSERT(ip->i_itemp != NULL);

xfs_trans_ijoin(tp, ip, lock_flags);
@@ -406,7 +403,6 @@ xfs_trans_log_inode(
xfs_inode_t *ip,
uint flags)
{
- ASSERT(ip->i_transp == tp);
ASSERT(ip->i_itemp != NULL);
#ifdef XACT_DEBUG
fprintf(stderr, "dirtied inode %llu, transaction %p\n", ip->i_ino, tp);
@@ -817,7 +813,6 @@ inode_item_done(
ASSERT(ip != NULL);

if (!(iip->ili_fields & XFS_ILOG_ALL)) {
- ip->i_transp = NULL; /* disassociate from transaction */
iip->ili_flags = 0; /* reset all flags */
goto free;
}
@@ -838,7 +833,6 @@ inode_item_done(
* we still release the buffer reference we currently hold.
*/
error = libxfs_iflush_int(ip, bp);
- ip->i_transp = NULL; /* disassociate from transaction */
bp->b_transp = NULL; /* remove xact ptr */

if (error) {
@@ -927,11 +921,6 @@ static void
inode_item_unlock(
xfs_inode_log_item_t *iip)
{
- xfs_inode_t *ip = iip->ili_inode;
-
- /* Clear the transaction pointer in the inode. */
- ip->i_transp = NULL;
-
iip->ili_flags = 0;
xfs_inode_item_put(iip);
}
--
1.8.3.1