diff mbox

[06/15] xfs: remove the never fully implemented UUID fork format

Message ID 20171019065942.18813-7-hch@lst.de (mailing list archive)
State Accepted
Headers show

Commit Message

Christoph Hellwig Oct. 19, 2017, 6:59 a.m. UTC
Remove the dead code dealing with the UUID fork format that was never
implemented in Linux (and neither in IRIX as far as I know).

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/xfs/libxfs/xfs_attr_leaf.c  |  6 +-----
 fs/xfs/libxfs/xfs_bmap.c       |  4 ----
 fs/xfs/libxfs/xfs_format.h     |  2 +-
 fs/xfs/libxfs/xfs_inode_fork.c |  9 ---------
 fs/xfs/libxfs/xfs_inode_fork.h |  1 -
 fs/xfs/libxfs/xfs_log_format.h | 20 ++++++++++----------
 fs/xfs/xfs_inode_item.c        | 25 ++++++-------------------
 fs/xfs/xfs_itable.c            |  1 -
 fs/xfs/xfs_log_recover.c       | 10 +---------
 9 files changed, 19 insertions(+), 59 deletions(-)

Comments

Darrick J. Wong Oct. 19, 2017, 10:48 p.m. UTC | #1
On Thu, Oct 19, 2017 at 08:59:33AM +0200, Christoph Hellwig wrote:
> Remove the dead code dealing with the UUID fork format that was never
> implemented in Linux (and neither in IRIX as far as I know).

I think I need a little more context on this -- for what purpose was the
UUID format created, and has it ever been used anywhere?  When I was
working on the ifork verifiers/scrub I noticed that we'd never actually
accept anything with that format.

(I'm ok with removing it, I just want to know what I'm killing before I
commit to it.)

--D

> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  fs/xfs/libxfs/xfs_attr_leaf.c  |  6 +-----
>  fs/xfs/libxfs/xfs_bmap.c       |  4 ----
>  fs/xfs/libxfs/xfs_format.h     |  2 +-
>  fs/xfs/libxfs/xfs_inode_fork.c |  9 ---------
>  fs/xfs/libxfs/xfs_inode_fork.h |  1 -
>  fs/xfs/libxfs/xfs_log_format.h | 20 ++++++++++----------
>  fs/xfs/xfs_inode_item.c        | 25 ++++++-------------------
>  fs/xfs/xfs_itable.c            |  1 -
>  fs/xfs/xfs_log_recover.c       | 10 +---------
>  9 files changed, 19 insertions(+), 59 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
> index 5c16db86b38f..53cc8b986eac 100644
> --- a/fs/xfs/libxfs/xfs_attr_leaf.c
> +++ b/fs/xfs/libxfs/xfs_attr_leaf.c
> @@ -397,13 +397,9 @@ xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes)
>  	/* rounded down */
>  	offset = (XFS_LITINO(mp, dp->i_d.di_version) - bytes) >> 3;
>  
> -	switch (dp->i_d.di_format) {
> -	case XFS_DINODE_FMT_DEV:
> +	if (dp->i_d.di_format == XFS_DINODE_FMT_DEV) {
>  		minforkoff = roundup(sizeof(xfs_dev_t), 8) >> 3;
>  		return (offset >= minforkoff) ? minforkoff : 0;
> -	case XFS_DINODE_FMT_UUID:
> -		minforkoff = roundup(sizeof(uuid_t), 8) >> 3;
> -		return (offset >= minforkoff) ? minforkoff : 0;
>  	}
>  
>  	/*
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index 6431386f4676..22e7578e5696 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -231,7 +231,6 @@ xfs_bmap_forkoff_reset(
>  {
>  	if (whichfork == XFS_ATTR_FORK &&
>  	    ip->i_d.di_format != XFS_DINODE_FMT_DEV &&
> -	    ip->i_d.di_format != XFS_DINODE_FMT_UUID &&
>  	    ip->i_d.di_format != XFS_DINODE_FMT_BTREE) {
>  		uint	dfl_forkoff = xfs_default_attroffset(ip) >> 3;
>  
> @@ -1086,9 +1085,6 @@ xfs_bmap_add_attrfork(
>  	case XFS_DINODE_FMT_DEV:
>  		ip->i_d.di_forkoff = roundup(sizeof(xfs_dev_t), 8) >> 3;
>  		break;
> -	case XFS_DINODE_FMT_UUID:
> -		ip->i_d.di_forkoff = roundup(sizeof(uuid_t), 8) >> 3;
> -		break;
>  	case XFS_DINODE_FMT_LOCAL:
>  	case XFS_DINODE_FMT_EXTENTS:
>  	case XFS_DINODE_FMT_BTREE:
> diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
> index 23229f0c5b15..66f9b9f61d92 100644
> --- a/fs/xfs/libxfs/xfs_format.h
> +++ b/fs/xfs/libxfs/xfs_format.h
> @@ -941,7 +941,7 @@ typedef enum xfs_dinode_fmt {
>  	XFS_DINODE_FMT_LOCAL,		/* bulk data */
>  	XFS_DINODE_FMT_EXTENTS,		/* struct xfs_bmbt_rec */
>  	XFS_DINODE_FMT_BTREE,		/* struct xfs_bmdr_block */
> -	XFS_DINODE_FMT_UUID		/* uuid_t */
> +	XFS_DINODE_FMT_UUID		/* added long ago, but never used */
>  } xfs_dinode_fmt_t;
>  
>  /*
> diff --git a/fs/xfs/libxfs/xfs_inode_fork.c b/fs/xfs/libxfs/xfs_inode_fork.c
> index 31786bad9738..1d003ca21562 100644
> --- a/fs/xfs/libxfs/xfs_inode_fork.c
> +++ b/fs/xfs/libxfs/xfs_inode_fork.c
> @@ -902,15 +902,6 @@ xfs_iflush_fork(
>  		}
>  		break;
>  
> -	case XFS_DINODE_FMT_UUID:
> -		if (iip->ili_fields & XFS_ILOG_UUID) {
> -			ASSERT(whichfork == XFS_DATA_FORK);
> -			memcpy(XFS_DFORK_DPTR(dip),
> -			       &ip->i_df.if_u2.if_uuid,
> -			       sizeof(uuid_t));
> -		}
> -		break;
> -
>  	default:
>  		ASSERT(0);
>  		break;
> diff --git a/fs/xfs/libxfs/xfs_inode_fork.h b/fs/xfs/libxfs/xfs_inode_fork.h
> index 6750f0462d21..064babdc373c 100644
> --- a/fs/xfs/libxfs/xfs_inode_fork.h
> +++ b/fs/xfs/libxfs/xfs_inode_fork.h
> @@ -70,7 +70,6 @@ typedef struct xfs_ifork {
>  		char		if_inline_data[XFS_INLINE_DATA];
>  						/* very small file data */
>  		xfs_dev_t	if_rdev;	/* dev number if special */
> -		uuid_t		if_uuid;	/* mount point value */
>  	} if_u2;
>  } xfs_ifork_t;
>  
> diff --git a/fs/xfs/libxfs/xfs_log_format.h b/fs/xfs/libxfs/xfs_log_format.h
> index 71de185735e0..a7ab6adae7f6 100644
> --- a/fs/xfs/libxfs/xfs_log_format.h
> +++ b/fs/xfs/libxfs/xfs_log_format.h
> @@ -274,7 +274,7 @@ typedef struct xfs_inode_log_format {
>  	uint64_t		ilf_ino;	/* inode number */
>  	union {
>  		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
> -		uuid_t		ilfu_uuid;	/* mount point value */
> +		u8		__pad[16];	/* unused */
>  	} ilf_u;
>  	int64_t			ilf_blkno;	/* blkno of inode buffer */
>  	int32_t			ilf_len;	/* len of inode buffer */
> @@ -295,7 +295,7 @@ struct xfs_inode_log_format_32 {
>  	uint64_t		ilf_ino;	/* inode number */
>  	union {
>  		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
> -		uuid_t		ilfu_uuid;	/* mount point value */
> +		u8		__pad[16];	/* unused */
>  	} ilf_u;
>  	int64_t			ilf_blkno;	/* blkno of inode buffer */
>  	int32_t			ilf_len;	/* len of inode buffer */
> @@ -311,7 +311,7 @@ struct xfs_inode_log_format_32 {
>  #define	XFS_ILOG_DEXT	0x004	/* log i_df.if_extents */
>  #define	XFS_ILOG_DBROOT	0x008	/* log i_df.i_broot */
>  #define	XFS_ILOG_DEV	0x010	/* log the dev field */
> -#define	XFS_ILOG_UUID	0x020	/* log the uuid field */
> +#define	XFS_ILOG_UUID	0x020	/* added long ago, but never used */
>  #define	XFS_ILOG_ADATA	0x040	/* log i_af.if_data */
>  #define	XFS_ILOG_AEXT	0x080	/* log i_af.if_extents */
>  #define	XFS_ILOG_ABROOT	0x100	/* log i_af.i_broot */
> @@ -329,9 +329,9 @@ struct xfs_inode_log_format_32 {
>  
>  #define	XFS_ILOG_NONCORE	(XFS_ILOG_DDATA | XFS_ILOG_DEXT | \
>  				 XFS_ILOG_DBROOT | XFS_ILOG_DEV | \
> -				 XFS_ILOG_UUID | XFS_ILOG_ADATA | \
> -				 XFS_ILOG_AEXT | XFS_ILOG_ABROOT | \
> -				 XFS_ILOG_DOWNER | XFS_ILOG_AOWNER)
> +				 XFS_ILOG_ADATA | XFS_ILOG_AEXT | \
> +				 XFS_ILOG_ABROOT | XFS_ILOG_DOWNER | \
> +				 XFS_ILOG_AOWNER)
>  
>  #define	XFS_ILOG_DFORK		(XFS_ILOG_DDATA | XFS_ILOG_DEXT | \
>  				 XFS_ILOG_DBROOT)
> @@ -341,10 +341,10 @@ struct xfs_inode_log_format_32 {
>  
>  #define	XFS_ILOG_ALL		(XFS_ILOG_CORE | XFS_ILOG_DDATA | \
>  				 XFS_ILOG_DEXT | XFS_ILOG_DBROOT | \
> -				 XFS_ILOG_DEV | XFS_ILOG_UUID | \
> -				 XFS_ILOG_ADATA | XFS_ILOG_AEXT | \
> -				 XFS_ILOG_ABROOT | XFS_ILOG_TIMESTAMP | \
> -				 XFS_ILOG_DOWNER | XFS_ILOG_AOWNER)
> +				 XFS_ILOG_DEV | XFS_ILOG_ADATA | \
> +				 XFS_ILOG_AEXT | XFS_ILOG_ABROOT | \
> +				 XFS_ILOG_TIMESTAMP | XFS_ILOG_DOWNER | \
> +				 XFS_ILOG_AOWNER)
>  
>  static inline int xfs_ilog_fbroot(int w)
>  {
> diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c
> index 9bbc2d7cc8cb..bd60ad313173 100644
> --- a/fs/xfs/xfs_inode_item.c
> +++ b/fs/xfs/xfs_inode_item.c
> @@ -72,7 +72,6 @@ xfs_inode_item_data_fork_size(
>  		break;
>  
>  	case XFS_DINODE_FMT_DEV:
> -	case XFS_DINODE_FMT_UUID:
>  		break;
>  	default:
>  		ASSERT(0);
> @@ -156,8 +155,7 @@ xfs_inode_item_format_data_fork(
>  	switch (ip->i_d.di_format) {
>  	case XFS_DINODE_FMT_EXTENTS:
>  		iip->ili_fields &=
> -			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
> -			  XFS_ILOG_DEV | XFS_ILOG_UUID);
> +			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT | XFS_ILOG_DEV);
>  
>  		if ((iip->ili_fields & XFS_ILOG_DEXT) &&
>  		    ip->i_d.di_nextents > 0 &&
> @@ -181,8 +179,7 @@ xfs_inode_item_format_data_fork(
>  		break;
>  	case XFS_DINODE_FMT_BTREE:
>  		iip->ili_fields &=
> -			~(XFS_ILOG_DDATA | XFS_ILOG_DEXT |
> -			  XFS_ILOG_DEV | XFS_ILOG_UUID);
> +			~(XFS_ILOG_DDATA | XFS_ILOG_DEXT | XFS_ILOG_DEV);
>  
>  		if ((iip->ili_fields & XFS_ILOG_DBROOT) &&
>  		    ip->i_df.if_broot_bytes > 0) {
> @@ -200,8 +197,7 @@ xfs_inode_item_format_data_fork(
>  		break;
>  	case XFS_DINODE_FMT_LOCAL:
>  		iip->ili_fields &=
> -			~(XFS_ILOG_DEXT | XFS_ILOG_DBROOT |
> -			  XFS_ILOG_DEV | XFS_ILOG_UUID);
> +			~(XFS_ILOG_DEXT | XFS_ILOG_DBROOT | XFS_ILOG_DEV);
>  		if ((iip->ili_fields & XFS_ILOG_DDATA) &&
>  		    ip->i_df.if_bytes > 0) {
>  			/*
> @@ -224,18 +220,10 @@ xfs_inode_item_format_data_fork(
>  		break;
>  	case XFS_DINODE_FMT_DEV:
>  		iip->ili_fields &=
> -			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
> -			  XFS_ILOG_DEXT | XFS_ILOG_UUID);
> +			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT | XFS_ILOG_DEXT);
>  		if (iip->ili_fields & XFS_ILOG_DEV)
>  			ilf->ilf_u.ilfu_rdev = ip->i_df.if_u2.if_rdev;
>  		break;
> -	case XFS_DINODE_FMT_UUID:
> -		iip->ili_fields &=
> -			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
> -			  XFS_ILOG_DEXT | XFS_ILOG_DEV);
> -		if (iip->ili_fields & XFS_ILOG_UUID)
> -			ilf->ilf_u.ilfu_uuid = ip->i_df.if_u2.if_uuid;
> -		break;
>  	default:
>  		ASSERT(0);
>  		break;
> @@ -441,7 +429,7 @@ xfs_inode_item_format(
>  	ilf->ilf_dsize = 0;
>  	ilf->ilf_asize = 0;
>  	ilf->ilf_pad = 0;
> -	uuid_copy(&ilf->ilf_u.ilfu_uuid, &uuid_null);
> +	memset(&ilf->ilf_u, 0, sizeof(ilf->ilf_u));
>  
>  	xlog_finish_iovec(lv, vecp, sizeof(*ilf));
>  
> @@ -892,8 +880,7 @@ xfs_inode_item_format_convert(
>  	in_f->ilf_asize = in_f32->ilf_asize;
>  	in_f->ilf_dsize = in_f32->ilf_dsize;
>  	in_f->ilf_ino = in_f32->ilf_ino;
> -	/* copy biggest field of ilf_u */
> -	uuid_copy(&in_f->ilf_u.ilfu_uuid, &in_f32->ilf_u.ilfu_uuid);
> +	memcpy(&in_f->ilf_u, &in_f32->ilf_u, sizeof(in_f->ilf_u));
>  	in_f->ilf_blkno = in_f32->ilf_blkno;
>  	in_f->ilf_len = in_f32->ilf_len;
>  	in_f->ilf_boffset = in_f32->ilf_boffset;
> diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
> index c393a2f6d8c3..23ba69fcc516 100644
> --- a/fs/xfs/xfs_itable.c
> +++ b/fs/xfs/xfs_itable.c
> @@ -124,7 +124,6 @@ xfs_bulkstat_one_int(
>  		buf->bs_blocks = 0;
>  		break;
>  	case XFS_DINODE_FMT_LOCAL:
> -	case XFS_DINODE_FMT_UUID:
>  		buf->bs_rdev = 0;
>  		buf->bs_blksize = mp->m_sb.sb_blocksize;
>  		buf->bs_blocks = 0;
> diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
> index ee34899396b2..4e48e0534345 100644
> --- a/fs/xfs/xfs_log_recover.c
> +++ b/fs/xfs/xfs_log_recover.c
> @@ -3163,16 +3163,8 @@ xlog_recover_inode_pass2(
>  	}
>  
>  	fields = in_f->ilf_fields;
> -	switch (fields & (XFS_ILOG_DEV | XFS_ILOG_UUID)) {
> -	case XFS_ILOG_DEV:
> +	if (fields & XFS_ILOG_DEV)
>  		xfs_dinode_put_rdev(dip, in_f->ilf_u.ilfu_rdev);
> -		break;
> -	case XFS_ILOG_UUID:
> -		memcpy(XFS_DFORK_DPTR(dip),
> -		       &in_f->ilf_u.ilfu_uuid,
> -		       sizeof(uuid_t));
> -		break;
> -	}
>  
>  	if (in_f->ilf_size == 2)
>  		goto out_owner_change;
> -- 
> 2.14.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
Christoph Hellwig Oct. 20, 2017, 7:02 a.m. UTC | #2
On Thu, Oct 19, 2017 at 03:48:13PM -0700, Darrick J. Wong wrote:
> On Thu, Oct 19, 2017 at 08:59:33AM +0200, Christoph Hellwig wrote:
> > Remove the dead code dealing with the UUID fork format that was never
> > implemented in Linux (and neither in IRIX as far as I know).
> 
> I think I need a little more context on this -- for what purpose was the
> UUID format created, and has it ever been used anywhere?  When I was
> working on the ifork verifiers/scrub I noticed that we'd never actually
> accept anything with that format.
> 
> (I'm ok with removing it, I just want to know what I'm killing before I
> commit to it.)

For that you'd need to find people that were around at SGI in the 90s..

Note that we already removed it briefly in 2008, but unlike my patch
that didn't keep the padding so broken log recovery.

relevant xfs-import commits:

Commit that adds the di_format values:
c049a3e8d776a76a1ba3adaf168a406a8ee52172

then various commits in early development add UUID inode format
bits, but none seems to actually ever generate it.

1st removal with minor comments on the history:
415c805b441845dfc2be7d887f995ea8875358e9

Revert of the above:
4ddd5953fad77a14f665fefa06899ef9f388b134
--
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
Darrick J. Wong Oct. 20, 2017, 4:52 p.m. UTC | #3
On Fri, Oct 20, 2017 at 09:02:35AM +0200, Christoph Hellwig wrote:
> On Thu, Oct 19, 2017 at 03:48:13PM -0700, Darrick J. Wong wrote:
> > On Thu, Oct 19, 2017 at 08:59:33AM +0200, Christoph Hellwig wrote:
> > > Remove the dead code dealing with the UUID fork format that was never
> > > implemented in Linux (and neither in IRIX as far as I know).
> > 
> > I think I need a little more context on this -- for what purpose was the
> > UUID format created, and has it ever been used anywhere?  When I was
> > working on the ifork verifiers/scrub I noticed that we'd never actually
> > accept anything with that format.
> > 
> > (I'm ok with removing it, I just want to know what I'm killing before I
> > commit to it.)
> 
> For that you'd need to find people that were around at SGI in the 90s..
> 
> Note that we already removed it briefly in 2008, but unlike my patch
> that didn't keep the padding so broken log recovery.
> 
> relevant xfs-import commits:
> 
> Commit that adds the di_format values:
> c049a3e8d776a76a1ba3adaf168a406a8ee52172
> 
> then various commits in early development add UUID inode format
> bits, but none seems to actually ever generate it.
> 
> 1st removal with minor comments on the history:
> 415c805b441845dfc2be7d887f995ea8875358e9

Yummmmmmmmmy!

Looks ok,
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> 
> Revert of the above:
> 4ddd5953fad77a14f665fefa06899ef9f388b134
> --
> 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
diff mbox

Patch

diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
index 5c16db86b38f..53cc8b986eac 100644
--- a/fs/xfs/libxfs/xfs_attr_leaf.c
+++ b/fs/xfs/libxfs/xfs_attr_leaf.c
@@ -397,13 +397,9 @@  xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes)
 	/* rounded down */
 	offset = (XFS_LITINO(mp, dp->i_d.di_version) - bytes) >> 3;
 
-	switch (dp->i_d.di_format) {
-	case XFS_DINODE_FMT_DEV:
+	if (dp->i_d.di_format == XFS_DINODE_FMT_DEV) {
 		minforkoff = roundup(sizeof(xfs_dev_t), 8) >> 3;
 		return (offset >= minforkoff) ? minforkoff : 0;
-	case XFS_DINODE_FMT_UUID:
-		minforkoff = roundup(sizeof(uuid_t), 8) >> 3;
-		return (offset >= minforkoff) ? minforkoff : 0;
 	}
 
 	/*
diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
index 6431386f4676..22e7578e5696 100644
--- a/fs/xfs/libxfs/xfs_bmap.c
+++ b/fs/xfs/libxfs/xfs_bmap.c
@@ -231,7 +231,6 @@  xfs_bmap_forkoff_reset(
 {
 	if (whichfork == XFS_ATTR_FORK &&
 	    ip->i_d.di_format != XFS_DINODE_FMT_DEV &&
-	    ip->i_d.di_format != XFS_DINODE_FMT_UUID &&
 	    ip->i_d.di_format != XFS_DINODE_FMT_BTREE) {
 		uint	dfl_forkoff = xfs_default_attroffset(ip) >> 3;
 
@@ -1086,9 +1085,6 @@  xfs_bmap_add_attrfork(
 	case XFS_DINODE_FMT_DEV:
 		ip->i_d.di_forkoff = roundup(sizeof(xfs_dev_t), 8) >> 3;
 		break;
-	case XFS_DINODE_FMT_UUID:
-		ip->i_d.di_forkoff = roundup(sizeof(uuid_t), 8) >> 3;
-		break;
 	case XFS_DINODE_FMT_LOCAL:
 	case XFS_DINODE_FMT_EXTENTS:
 	case XFS_DINODE_FMT_BTREE:
diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
index 23229f0c5b15..66f9b9f61d92 100644
--- a/fs/xfs/libxfs/xfs_format.h
+++ b/fs/xfs/libxfs/xfs_format.h
@@ -941,7 +941,7 @@  typedef enum xfs_dinode_fmt {
 	XFS_DINODE_FMT_LOCAL,		/* bulk data */
 	XFS_DINODE_FMT_EXTENTS,		/* struct xfs_bmbt_rec */
 	XFS_DINODE_FMT_BTREE,		/* struct xfs_bmdr_block */
-	XFS_DINODE_FMT_UUID		/* uuid_t */
+	XFS_DINODE_FMT_UUID		/* added long ago, but never used */
 } xfs_dinode_fmt_t;
 
 /*
diff --git a/fs/xfs/libxfs/xfs_inode_fork.c b/fs/xfs/libxfs/xfs_inode_fork.c
index 31786bad9738..1d003ca21562 100644
--- a/fs/xfs/libxfs/xfs_inode_fork.c
+++ b/fs/xfs/libxfs/xfs_inode_fork.c
@@ -902,15 +902,6 @@  xfs_iflush_fork(
 		}
 		break;
 
-	case XFS_DINODE_FMT_UUID:
-		if (iip->ili_fields & XFS_ILOG_UUID) {
-			ASSERT(whichfork == XFS_DATA_FORK);
-			memcpy(XFS_DFORK_DPTR(dip),
-			       &ip->i_df.if_u2.if_uuid,
-			       sizeof(uuid_t));
-		}
-		break;
-
 	default:
 		ASSERT(0);
 		break;
diff --git a/fs/xfs/libxfs/xfs_inode_fork.h b/fs/xfs/libxfs/xfs_inode_fork.h
index 6750f0462d21..064babdc373c 100644
--- a/fs/xfs/libxfs/xfs_inode_fork.h
+++ b/fs/xfs/libxfs/xfs_inode_fork.h
@@ -70,7 +70,6 @@  typedef struct xfs_ifork {
 		char		if_inline_data[XFS_INLINE_DATA];
 						/* very small file data */
 		xfs_dev_t	if_rdev;	/* dev number if special */
-		uuid_t		if_uuid;	/* mount point value */
 	} if_u2;
 } xfs_ifork_t;
 
diff --git a/fs/xfs/libxfs/xfs_log_format.h b/fs/xfs/libxfs/xfs_log_format.h
index 71de185735e0..a7ab6adae7f6 100644
--- a/fs/xfs/libxfs/xfs_log_format.h
+++ b/fs/xfs/libxfs/xfs_log_format.h
@@ -274,7 +274,7 @@  typedef struct xfs_inode_log_format {
 	uint64_t		ilf_ino;	/* inode number */
 	union {
 		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
-		uuid_t		ilfu_uuid;	/* mount point value */
+		u8		__pad[16];	/* unused */
 	} ilf_u;
 	int64_t			ilf_blkno;	/* blkno of inode buffer */
 	int32_t			ilf_len;	/* len of inode buffer */
@@ -295,7 +295,7 @@  struct xfs_inode_log_format_32 {
 	uint64_t		ilf_ino;	/* inode number */
 	union {
 		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
-		uuid_t		ilfu_uuid;	/* mount point value */
+		u8		__pad[16];	/* unused */
 	} ilf_u;
 	int64_t			ilf_blkno;	/* blkno of inode buffer */
 	int32_t			ilf_len;	/* len of inode buffer */
@@ -311,7 +311,7 @@  struct xfs_inode_log_format_32 {
 #define	XFS_ILOG_DEXT	0x004	/* log i_df.if_extents */
 #define	XFS_ILOG_DBROOT	0x008	/* log i_df.i_broot */
 #define	XFS_ILOG_DEV	0x010	/* log the dev field */
-#define	XFS_ILOG_UUID	0x020	/* log the uuid field */
+#define	XFS_ILOG_UUID	0x020	/* added long ago, but never used */
 #define	XFS_ILOG_ADATA	0x040	/* log i_af.if_data */
 #define	XFS_ILOG_AEXT	0x080	/* log i_af.if_extents */
 #define	XFS_ILOG_ABROOT	0x100	/* log i_af.i_broot */
@@ -329,9 +329,9 @@  struct xfs_inode_log_format_32 {
 
 #define	XFS_ILOG_NONCORE	(XFS_ILOG_DDATA | XFS_ILOG_DEXT | \
 				 XFS_ILOG_DBROOT | XFS_ILOG_DEV | \
-				 XFS_ILOG_UUID | XFS_ILOG_ADATA | \
-				 XFS_ILOG_AEXT | XFS_ILOG_ABROOT | \
-				 XFS_ILOG_DOWNER | XFS_ILOG_AOWNER)
+				 XFS_ILOG_ADATA | XFS_ILOG_AEXT | \
+				 XFS_ILOG_ABROOT | XFS_ILOG_DOWNER | \
+				 XFS_ILOG_AOWNER)
 
 #define	XFS_ILOG_DFORK		(XFS_ILOG_DDATA | XFS_ILOG_DEXT | \
 				 XFS_ILOG_DBROOT)
@@ -341,10 +341,10 @@  struct xfs_inode_log_format_32 {
 
 #define	XFS_ILOG_ALL		(XFS_ILOG_CORE | XFS_ILOG_DDATA | \
 				 XFS_ILOG_DEXT | XFS_ILOG_DBROOT | \
-				 XFS_ILOG_DEV | XFS_ILOG_UUID | \
-				 XFS_ILOG_ADATA | XFS_ILOG_AEXT | \
-				 XFS_ILOG_ABROOT | XFS_ILOG_TIMESTAMP | \
-				 XFS_ILOG_DOWNER | XFS_ILOG_AOWNER)
+				 XFS_ILOG_DEV | XFS_ILOG_ADATA | \
+				 XFS_ILOG_AEXT | XFS_ILOG_ABROOT | \
+				 XFS_ILOG_TIMESTAMP | XFS_ILOG_DOWNER | \
+				 XFS_ILOG_AOWNER)
 
 static inline int xfs_ilog_fbroot(int w)
 {
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c
index 9bbc2d7cc8cb..bd60ad313173 100644
--- a/fs/xfs/xfs_inode_item.c
+++ b/fs/xfs/xfs_inode_item.c
@@ -72,7 +72,6 @@  xfs_inode_item_data_fork_size(
 		break;
 
 	case XFS_DINODE_FMT_DEV:
-	case XFS_DINODE_FMT_UUID:
 		break;
 	default:
 		ASSERT(0);
@@ -156,8 +155,7 @@  xfs_inode_item_format_data_fork(
 	switch (ip->i_d.di_format) {
 	case XFS_DINODE_FMT_EXTENTS:
 		iip->ili_fields &=
-			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
-			  XFS_ILOG_DEV | XFS_ILOG_UUID);
+			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT | XFS_ILOG_DEV);
 
 		if ((iip->ili_fields & XFS_ILOG_DEXT) &&
 		    ip->i_d.di_nextents > 0 &&
@@ -181,8 +179,7 @@  xfs_inode_item_format_data_fork(
 		break;
 	case XFS_DINODE_FMT_BTREE:
 		iip->ili_fields &=
-			~(XFS_ILOG_DDATA | XFS_ILOG_DEXT |
-			  XFS_ILOG_DEV | XFS_ILOG_UUID);
+			~(XFS_ILOG_DDATA | XFS_ILOG_DEXT | XFS_ILOG_DEV);
 
 		if ((iip->ili_fields & XFS_ILOG_DBROOT) &&
 		    ip->i_df.if_broot_bytes > 0) {
@@ -200,8 +197,7 @@  xfs_inode_item_format_data_fork(
 		break;
 	case XFS_DINODE_FMT_LOCAL:
 		iip->ili_fields &=
-			~(XFS_ILOG_DEXT | XFS_ILOG_DBROOT |
-			  XFS_ILOG_DEV | XFS_ILOG_UUID);
+			~(XFS_ILOG_DEXT | XFS_ILOG_DBROOT | XFS_ILOG_DEV);
 		if ((iip->ili_fields & XFS_ILOG_DDATA) &&
 		    ip->i_df.if_bytes > 0) {
 			/*
@@ -224,18 +220,10 @@  xfs_inode_item_format_data_fork(
 		break;
 	case XFS_DINODE_FMT_DEV:
 		iip->ili_fields &=
-			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
-			  XFS_ILOG_DEXT | XFS_ILOG_UUID);
+			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT | XFS_ILOG_DEXT);
 		if (iip->ili_fields & XFS_ILOG_DEV)
 			ilf->ilf_u.ilfu_rdev = ip->i_df.if_u2.if_rdev;
 		break;
-	case XFS_DINODE_FMT_UUID:
-		iip->ili_fields &=
-			~(XFS_ILOG_DDATA | XFS_ILOG_DBROOT |
-			  XFS_ILOG_DEXT | XFS_ILOG_DEV);
-		if (iip->ili_fields & XFS_ILOG_UUID)
-			ilf->ilf_u.ilfu_uuid = ip->i_df.if_u2.if_uuid;
-		break;
 	default:
 		ASSERT(0);
 		break;
@@ -441,7 +429,7 @@  xfs_inode_item_format(
 	ilf->ilf_dsize = 0;
 	ilf->ilf_asize = 0;
 	ilf->ilf_pad = 0;
-	uuid_copy(&ilf->ilf_u.ilfu_uuid, &uuid_null);
+	memset(&ilf->ilf_u, 0, sizeof(ilf->ilf_u));
 
 	xlog_finish_iovec(lv, vecp, sizeof(*ilf));
 
@@ -892,8 +880,7 @@  xfs_inode_item_format_convert(
 	in_f->ilf_asize = in_f32->ilf_asize;
 	in_f->ilf_dsize = in_f32->ilf_dsize;
 	in_f->ilf_ino = in_f32->ilf_ino;
-	/* copy biggest field of ilf_u */
-	uuid_copy(&in_f->ilf_u.ilfu_uuid, &in_f32->ilf_u.ilfu_uuid);
+	memcpy(&in_f->ilf_u, &in_f32->ilf_u, sizeof(in_f->ilf_u));
 	in_f->ilf_blkno = in_f32->ilf_blkno;
 	in_f->ilf_len = in_f32->ilf_len;
 	in_f->ilf_boffset = in_f32->ilf_boffset;
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index c393a2f6d8c3..23ba69fcc516 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -124,7 +124,6 @@  xfs_bulkstat_one_int(
 		buf->bs_blocks = 0;
 		break;
 	case XFS_DINODE_FMT_LOCAL:
-	case XFS_DINODE_FMT_UUID:
 		buf->bs_rdev = 0;
 		buf->bs_blksize = mp->m_sb.sb_blocksize;
 		buf->bs_blocks = 0;
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index ee34899396b2..4e48e0534345 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -3163,16 +3163,8 @@  xlog_recover_inode_pass2(
 	}
 
 	fields = in_f->ilf_fields;
-	switch (fields & (XFS_ILOG_DEV | XFS_ILOG_UUID)) {
-	case XFS_ILOG_DEV:
+	if (fields & XFS_ILOG_DEV)
 		xfs_dinode_put_rdev(dip, in_f->ilf_u.ilfu_rdev);
-		break;
-	case XFS_ILOG_UUID:
-		memcpy(XFS_DFORK_DPTR(dip),
-		       &in_f->ilf_u.ilfu_uuid,
-		       sizeof(uuid_t));
-		break;
-	}
 
 	if (in_f->ilf_size == 2)
 		goto out_owner_change;