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@xxxxxx> > --- > 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@xxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html