diff options
author | pfg <pfg@FreeBSD.org> | 2016-02-03 14:31:23 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-02-03 14:31:23 +0000 |
commit | fcb93180f54ede665ea60822a8bd1766002246d0 (patch) | |
tree | 36377061dfd7c4b55933ef6c63d4d5d5d6b342ec | |
parent | 3deeea8140f02e68d569a9d3e8f4f101d8fbdb49 (diff) | |
download | FreeBSD-src-fcb93180f54ede665ea60822a8bd1766002246d0.zip FreeBSD-src-fcb93180f54ede665ea60822a8bd1766002246d0.tar.gz |
Revert r294695:
ext2fs: passthrough any extra timestamps to the dinode struct.
While it passed the classic testing, the change appears to have
caused some regression and still requires some more precautions.
PR: 206820
MFC after: 3 days
-rw-r--r-- | sys/fs/ext2fs/ext2_inode_cnv.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/fs/ext2fs/ext2_inode_cnv.c b/sys/fs/ext2fs/ext2_inode_cnv.c index 78679cf..d62e9ba 100644 --- a/sys/fs/ext2fs/ext2_inode_cnv.c +++ b/sys/fs/ext2fs/ext2_inode_cnv.c @@ -149,11 +149,13 @@ ext2_i2ei(struct inode *ip, struct ext2fs_dinode *ei) ei->e2di_atime = ip->i_atime; ei->e2di_mtime = ip->i_mtime; ei->e2di_ctime = ip->i_ctime; - ei->e2di_ctime_extra = NSEC_TO_XTIME(ip->i_ctimensec); - ei->e2di_mtime_extra = NSEC_TO_XTIME(ip->i_mtimensec); - ei->e2di_atime_extra = NSEC_TO_XTIME(ip->i_atimensec); - ei->e2di_crtime = ip->i_birthtime; - ei->e2di_crtime_extra = NSEC_TO_XTIME(ip->i_birthnsec); + if (E2DI_HAS_XTIME(ip)) { + ei->e2di_ctime_extra = NSEC_TO_XTIME(ip->i_ctimensec); + ei->e2di_mtime_extra = NSEC_TO_XTIME(ip->i_mtimensec); + ei->e2di_atime_extra = NSEC_TO_XTIME(ip->i_atimensec); + ei->e2di_crtime = ip->i_birthtime; + ei->e2di_crtime_extra = NSEC_TO_XTIME(ip->i_birthnsec); + } ei->e2di_flags = 0; ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND: 0; ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE: 0; |