Message ID | 20200620071102.462554-14-hch@lst.de (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | [01/15] xfs: don't clear the "dinode core" in xfs_inode_alloc | expand |
On Saturday 20 June 2020 12:41:00 PM IST Christoph Hellwig wrote: > In preparation of removing the historic icinode struct, move the crtime > field into the containing xfs_inode structure. > The changes look good to me. Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++---- > fs/xfs/libxfs/xfs_inode_buf.h | 2 -- > fs/xfs/libxfs/xfs_trans_inode.c | 2 +- > fs/xfs/xfs_inode.c | 2 +- > fs/xfs/xfs_inode.h | 1 + > fs/xfs/xfs_inode_item.c | 4 ++-- > fs/xfs/xfs_iops.c | 2 +- > fs/xfs/xfs_itable.c | 4 ++-- > 8 files changed, 12 insertions(+), 13 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c > index 79e470933abfa8..af595ee23635aa 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.c > +++ b/fs/xfs/libxfs/xfs_inode_buf.c > @@ -253,8 +253,8 @@ xfs_inode_from_disk( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > inode_set_iversion_queried(inode, > be64_to_cpu(from->di_changecount)); > - to->di_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); > - to->di_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); > + ip->i_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); > + ip->i_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); > ip->i_diflags2 = be64_to_cpu(from->di_flags2); > ip->i_cowextsize = be32_to_cpu(from->di_cowextsize); > } > @@ -319,8 +319,8 @@ xfs_inode_to_disk( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > to->di_version = 3; > to->di_changecount = cpu_to_be64(inode_peek_iversion(inode)); > - to->di_crtime.t_sec = cpu_to_be32(from->di_crtime.tv_sec); > - to->di_crtime.t_nsec = cpu_to_be32(from->di_crtime.tv_nsec); > + to->di_crtime.t_sec = cpu_to_be32(ip->i_crtime.tv_sec); > + to->di_crtime.t_nsec = cpu_to_be32(ip->i_crtime.tv_nsec); > to->di_flags2 = cpu_to_be64(ip->i_diflags2); > to->di_cowextsize = cpu_to_be32(ip->i_cowextsize); > to->di_ino = cpu_to_be64(ip->i_ino); > diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h > index 4bfad6d6d5710a..2a8e7a7ed8d18d 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.h > +++ b/fs/xfs/libxfs/xfs_inode_buf.h > @@ -18,8 +18,6 @@ struct xfs_dinode; > struct xfs_icdinode { > uint32_t di_dmevmask; /* DMIG event mask */ > uint16_t di_dmstate; /* DMIG state info */ > - > - struct timespec64 di_crtime; /* time created */ > }; > > /* > diff --git a/fs/xfs/libxfs/xfs_trans_inode.c b/fs/xfs/libxfs/xfs_trans_inode.c > index b5dfb665484223..3c690829634cdc 100644 > --- a/fs/xfs/libxfs/xfs_trans_inode.c > +++ b/fs/xfs/libxfs/xfs_trans_inode.c > @@ -67,7 +67,7 @@ xfs_trans_ichgtime( > if (flags & XFS_ICHGTIME_CHG) > inode->i_ctime = tv; > if (flags & XFS_ICHGTIME_CREATE) > - ip->i_d.di_crtime = tv; > + ip->i_crtime = tv; > } > > /* > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 593e8c5c2fd658..59f11314750a46 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -841,7 +841,7 @@ xfs_ialloc( > inode_set_iversion(inode, 1); > ip->i_diflags2 = 0; > ip->i_cowextsize = 0; > - ip->i_d.di_crtime = tv; > + ip->i_crtime = tv; > } > > flags = XFS_ILOG_CORE; > diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h > index 709f04fadde65e..106a8d6cc010cb 100644 > --- a/fs/xfs/xfs_inode.h > +++ b/fs/xfs/xfs_inode.h > @@ -66,6 +66,7 @@ typedef struct xfs_inode { > uint8_t i_forkoff; /* attr fork offset >> 3 */ > uint16_t i_diflags; /* XFS_DIFLAG_... */ > uint64_t i_diflags2; /* XFS_DIFLAG2_... */ > + struct timespec64 i_crtime; /* time created */ > > struct xfs_icdinode i_d; /* most of ondisk inode */ > > diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c > index 04e671d2957ca2..dff3bc6a33720a 100644 > --- a/fs/xfs/xfs_inode_item.c > +++ b/fs/xfs/xfs_inode_item.c > @@ -340,8 +340,8 @@ xfs_inode_to_log_dinode( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > to->di_version = 3; > to->di_changecount = inode_peek_iversion(inode); > - to->di_crtime.t_sec = from->di_crtime.tv_sec; > - to->di_crtime.t_nsec = from->di_crtime.tv_nsec; > + to->di_crtime.t_sec = ip->i_crtime.tv_sec; > + to->di_crtime.t_nsec = ip->i_crtime.tv_nsec; > to->di_flags2 = ip->i_diflags2; > to->di_cowextsize = ip->i_cowextsize; > to->di_ino = ip->i_ino; > diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c > index 3642f9935cae3f..6aace9c6586ca5 100644 > --- a/fs/xfs/xfs_iops.c > +++ b/fs/xfs/xfs_iops.c > @@ -559,7 +559,7 @@ xfs_vn_getattr( > if (xfs_sb_version_has_v3inode(&mp->m_sb)) { > if (request_mask & STATX_BTIME) { > stat->result_mask |= STATX_BTIME; > - stat->btime = ip->i_d.di_crtime; > + stat->btime = ip->i_crtime; > } > } > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index 4d1509437c3576..7945c6c4844940 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -97,8 +97,8 @@ xfs_bulkstat_one_int( > buf->bs_mtime_nsec = inode->i_mtime.tv_nsec; > buf->bs_ctime = inode->i_ctime.tv_sec; > buf->bs_ctime_nsec = inode->i_ctime.tv_nsec; > - buf->bs_btime = dic->di_crtime.tv_sec; > - buf->bs_btime_nsec = dic->di_crtime.tv_nsec; > + buf->bs_btime = ip->i_crtime.tv_sec; > + buf->bs_btime_nsec = ip->i_crtime.tv_nsec; > buf->bs_gen = inode->i_generation; > buf->bs_mode = inode->i_mode; > >
On Sat, Jun 20, 2020 at 09:11:00AM +0200, Christoph Hellwig wrote: > In preparation of removing the historic icinode struct, move the crtime > field into the containing xfs_inode structure. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Looks good to me, Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> --D > --- > fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++---- > fs/xfs/libxfs/xfs_inode_buf.h | 2 -- > fs/xfs/libxfs/xfs_trans_inode.c | 2 +- > fs/xfs/xfs_inode.c | 2 +- > fs/xfs/xfs_inode.h | 1 + > fs/xfs/xfs_inode_item.c | 4 ++-- > fs/xfs/xfs_iops.c | 2 +- > fs/xfs/xfs_itable.c | 4 ++-- > 8 files changed, 12 insertions(+), 13 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c > index 79e470933abfa8..af595ee23635aa 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.c > +++ b/fs/xfs/libxfs/xfs_inode_buf.c > @@ -253,8 +253,8 @@ xfs_inode_from_disk( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > inode_set_iversion_queried(inode, > be64_to_cpu(from->di_changecount)); > - to->di_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); > - to->di_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); > + ip->i_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); > + ip->i_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); > ip->i_diflags2 = be64_to_cpu(from->di_flags2); > ip->i_cowextsize = be32_to_cpu(from->di_cowextsize); > } > @@ -319,8 +319,8 @@ xfs_inode_to_disk( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > to->di_version = 3; > to->di_changecount = cpu_to_be64(inode_peek_iversion(inode)); > - to->di_crtime.t_sec = cpu_to_be32(from->di_crtime.tv_sec); > - to->di_crtime.t_nsec = cpu_to_be32(from->di_crtime.tv_nsec); > + to->di_crtime.t_sec = cpu_to_be32(ip->i_crtime.tv_sec); > + to->di_crtime.t_nsec = cpu_to_be32(ip->i_crtime.tv_nsec); > to->di_flags2 = cpu_to_be64(ip->i_diflags2); > to->di_cowextsize = cpu_to_be32(ip->i_cowextsize); > to->di_ino = cpu_to_be64(ip->i_ino); > diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h > index 4bfad6d6d5710a..2a8e7a7ed8d18d 100644 > --- a/fs/xfs/libxfs/xfs_inode_buf.h > +++ b/fs/xfs/libxfs/xfs_inode_buf.h > @@ -18,8 +18,6 @@ struct xfs_dinode; > struct xfs_icdinode { > uint32_t di_dmevmask; /* DMIG event mask */ > uint16_t di_dmstate; /* DMIG state info */ > - > - struct timespec64 di_crtime; /* time created */ > }; > > /* > diff --git a/fs/xfs/libxfs/xfs_trans_inode.c b/fs/xfs/libxfs/xfs_trans_inode.c > index b5dfb665484223..3c690829634cdc 100644 > --- a/fs/xfs/libxfs/xfs_trans_inode.c > +++ b/fs/xfs/libxfs/xfs_trans_inode.c > @@ -67,7 +67,7 @@ xfs_trans_ichgtime( > if (flags & XFS_ICHGTIME_CHG) > inode->i_ctime = tv; > if (flags & XFS_ICHGTIME_CREATE) > - ip->i_d.di_crtime = tv; > + ip->i_crtime = tv; > } > > /* > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 593e8c5c2fd658..59f11314750a46 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -841,7 +841,7 @@ xfs_ialloc( > inode_set_iversion(inode, 1); > ip->i_diflags2 = 0; > ip->i_cowextsize = 0; > - ip->i_d.di_crtime = tv; > + ip->i_crtime = tv; > } > > flags = XFS_ILOG_CORE; > diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h > index 709f04fadde65e..106a8d6cc010cb 100644 > --- a/fs/xfs/xfs_inode.h > +++ b/fs/xfs/xfs_inode.h > @@ -66,6 +66,7 @@ typedef struct xfs_inode { > uint8_t i_forkoff; /* attr fork offset >> 3 */ > uint16_t i_diflags; /* XFS_DIFLAG_... */ > uint64_t i_diflags2; /* XFS_DIFLAG2_... */ > + struct timespec64 i_crtime; /* time created */ > > struct xfs_icdinode i_d; /* most of ondisk inode */ > > diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c > index 04e671d2957ca2..dff3bc6a33720a 100644 > --- a/fs/xfs/xfs_inode_item.c > +++ b/fs/xfs/xfs_inode_item.c > @@ -340,8 +340,8 @@ xfs_inode_to_log_dinode( > if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { > to->di_version = 3; > to->di_changecount = inode_peek_iversion(inode); > - to->di_crtime.t_sec = from->di_crtime.tv_sec; > - to->di_crtime.t_nsec = from->di_crtime.tv_nsec; > + to->di_crtime.t_sec = ip->i_crtime.tv_sec; > + to->di_crtime.t_nsec = ip->i_crtime.tv_nsec; > to->di_flags2 = ip->i_diflags2; > to->di_cowextsize = ip->i_cowextsize; > to->di_ino = ip->i_ino; > diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c > index 3642f9935cae3f..6aace9c6586ca5 100644 > --- a/fs/xfs/xfs_iops.c > +++ b/fs/xfs/xfs_iops.c > @@ -559,7 +559,7 @@ xfs_vn_getattr( > if (xfs_sb_version_has_v3inode(&mp->m_sb)) { > if (request_mask & STATX_BTIME) { > stat->result_mask |= STATX_BTIME; > - stat->btime = ip->i_d.di_crtime; > + stat->btime = ip->i_crtime; > } > } > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index 4d1509437c3576..7945c6c4844940 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -97,8 +97,8 @@ xfs_bulkstat_one_int( > buf->bs_mtime_nsec = inode->i_mtime.tv_nsec; > buf->bs_ctime = inode->i_ctime.tv_sec; > buf->bs_ctime_nsec = inode->i_ctime.tv_nsec; > - buf->bs_btime = dic->di_crtime.tv_sec; > - buf->bs_btime_nsec = dic->di_crtime.tv_nsec; > + buf->bs_btime = ip->i_crtime.tv_sec; > + buf->bs_btime_nsec = ip->i_crtime.tv_nsec; > buf->bs_gen = inode->i_generation; > buf->bs_mode = inode->i_mode; > > -- > 2.26.2 >
diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c index 79e470933abfa8..af595ee23635aa 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.c +++ b/fs/xfs/libxfs/xfs_inode_buf.c @@ -253,8 +253,8 @@ xfs_inode_from_disk( if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { inode_set_iversion_queried(inode, be64_to_cpu(from->di_changecount)); - to->di_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); - to->di_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); + ip->i_crtime.tv_sec = be32_to_cpu(from->di_crtime.t_sec); + ip->i_crtime.tv_nsec = be32_to_cpu(from->di_crtime.t_nsec); ip->i_diflags2 = be64_to_cpu(from->di_flags2); ip->i_cowextsize = be32_to_cpu(from->di_cowextsize); } @@ -319,8 +319,8 @@ xfs_inode_to_disk( if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { to->di_version = 3; to->di_changecount = cpu_to_be64(inode_peek_iversion(inode)); - to->di_crtime.t_sec = cpu_to_be32(from->di_crtime.tv_sec); - to->di_crtime.t_nsec = cpu_to_be32(from->di_crtime.tv_nsec); + to->di_crtime.t_sec = cpu_to_be32(ip->i_crtime.tv_sec); + to->di_crtime.t_nsec = cpu_to_be32(ip->i_crtime.tv_nsec); to->di_flags2 = cpu_to_be64(ip->i_diflags2); to->di_cowextsize = cpu_to_be32(ip->i_cowextsize); to->di_ino = cpu_to_be64(ip->i_ino); diff --git a/fs/xfs/libxfs/xfs_inode_buf.h b/fs/xfs/libxfs/xfs_inode_buf.h index 4bfad6d6d5710a..2a8e7a7ed8d18d 100644 --- a/fs/xfs/libxfs/xfs_inode_buf.h +++ b/fs/xfs/libxfs/xfs_inode_buf.h @@ -18,8 +18,6 @@ struct xfs_dinode; struct xfs_icdinode { uint32_t di_dmevmask; /* DMIG event mask */ uint16_t di_dmstate; /* DMIG state info */ - - struct timespec64 di_crtime; /* time created */ }; /* diff --git a/fs/xfs/libxfs/xfs_trans_inode.c b/fs/xfs/libxfs/xfs_trans_inode.c index b5dfb665484223..3c690829634cdc 100644 --- a/fs/xfs/libxfs/xfs_trans_inode.c +++ b/fs/xfs/libxfs/xfs_trans_inode.c @@ -67,7 +67,7 @@ xfs_trans_ichgtime( if (flags & XFS_ICHGTIME_CHG) inode->i_ctime = tv; if (flags & XFS_ICHGTIME_CREATE) - ip->i_d.di_crtime = tv; + ip->i_crtime = tv; } /* diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 593e8c5c2fd658..59f11314750a46 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -841,7 +841,7 @@ xfs_ialloc( inode_set_iversion(inode, 1); ip->i_diflags2 = 0; ip->i_cowextsize = 0; - ip->i_d.di_crtime = tv; + ip->i_crtime = tv; } flags = XFS_ILOG_CORE; diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index 709f04fadde65e..106a8d6cc010cb 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -66,6 +66,7 @@ typedef struct xfs_inode { uint8_t i_forkoff; /* attr fork offset >> 3 */ uint16_t i_diflags; /* XFS_DIFLAG_... */ uint64_t i_diflags2; /* XFS_DIFLAG2_... */ + struct timespec64 i_crtime; /* time created */ struct xfs_icdinode i_d; /* most of ondisk inode */ diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 04e671d2957ca2..dff3bc6a33720a 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -340,8 +340,8 @@ xfs_inode_to_log_dinode( if (xfs_sb_version_has_v3inode(&ip->i_mount->m_sb)) { to->di_version = 3; to->di_changecount = inode_peek_iversion(inode); - to->di_crtime.t_sec = from->di_crtime.tv_sec; - to->di_crtime.t_nsec = from->di_crtime.tv_nsec; + to->di_crtime.t_sec = ip->i_crtime.tv_sec; + to->di_crtime.t_nsec = ip->i_crtime.tv_nsec; to->di_flags2 = ip->i_diflags2; to->di_cowextsize = ip->i_cowextsize; to->di_ino = ip->i_ino; diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 3642f9935cae3f..6aace9c6586ca5 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -559,7 +559,7 @@ xfs_vn_getattr( if (xfs_sb_version_has_v3inode(&mp->m_sb)) { if (request_mask & STATX_BTIME) { stat->result_mask |= STATX_BTIME; - stat->btime = ip->i_d.di_crtime; + stat->btime = ip->i_crtime; } } diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 4d1509437c3576..7945c6c4844940 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -97,8 +97,8 @@ xfs_bulkstat_one_int( buf->bs_mtime_nsec = inode->i_mtime.tv_nsec; buf->bs_ctime = inode->i_ctime.tv_sec; buf->bs_ctime_nsec = inode->i_ctime.tv_nsec; - buf->bs_btime = dic->di_crtime.tv_sec; - buf->bs_btime_nsec = dic->di_crtime.tv_nsec; + buf->bs_btime = ip->i_crtime.tv_sec; + buf->bs_btime_nsec = ip->i_crtime.tv_nsec; buf->bs_gen = inode->i_generation; buf->bs_mode = inode->i_mode;
In preparation of removing the historic icinode struct, move the crtime field into the containing xfs_inode structure. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++---- fs/xfs/libxfs/xfs_inode_buf.h | 2 -- fs/xfs/libxfs/xfs_trans_inode.c | 2 +- fs/xfs/xfs_inode.c | 2 +- fs/xfs/xfs_inode.h | 1 + fs/xfs/xfs_inode_item.c | 4 ++-- fs/xfs/xfs_iops.c | 2 +- fs/xfs/xfs_itable.c | 4 ++-- 8 files changed, 12 insertions(+), 13 deletions(-)