Page MenuHomeFreeBSD

D11354.id30066.diff
No OneTemporary

D11354.id30066.diff

Index: sys/fs/ext2fs/ext2_inode_cnv.c
===================================================================
--- sys/fs/ext2fs/ext2_inode_cnv.c
+++ sys/fs/ext2fs/ext2_inode_cnv.c
@@ -100,13 +100,6 @@
ip->i_atime = ei->e2di_atime;
ip->i_mtime = ei->e2di_mtime;
ip->i_ctime = ei->e2di_ctime;
- if (E2DI_HAS_XTIME(ip)) {
- ip->i_atimensec = XTIME_TO_NSEC(ei->e2di_atime_extra);
- ip->i_mtimensec = XTIME_TO_NSEC(ei->e2di_mtime_extra);
- ip->i_ctimensec = XTIME_TO_NSEC(ei->e2di_ctime_extra);
- ip->i_birthtime = ei->e2di_crtime;
- ip->i_birthnsec = XTIME_TO_NSEC(ei->e2di_crtime_extra);
- }
ip->i_flags = 0;
ip->i_flags |= (ei->e2di_flags & EXT2_APPEND) ? SF_APPEND : 0;
ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE) ? SF_IMMUTABLE : 0;
@@ -124,6 +117,15 @@
ip->i_gen = ei->e2di_gen;
ip->i_uid = ei->e2di_uid;
ip->i_gid = ei->e2di_gid;
+ if (E2DI_HAS_XTIME(ip)) {
+ ip->i_uid |= (uint32_t)ei->e2di_uid_high << 32;
+ ip->i_gid |= (uint32_t)ei->e2di_gid_high << 32;
+ ip->i_atimensec = XTIME_TO_NSEC(ei->e2di_atime_extra);
+ ip->i_mtimensec = XTIME_TO_NSEC(ei->e2di_mtime_extra);
+ ip->i_ctimensec = XTIME_TO_NSEC(ei->e2di_ctime_extra);
+ ip->i_birthtime = ei->e2di_crtime;
+ ip->i_birthnsec = XTIME_TO_NSEC(ei->e2di_crtime_extra);
+ }
/* XXX use memcpy */
for (i = 0; i < EXT2_NDADDR; i++)
ip->i_db[i] = ei->e2di_blocks[i];
@@ -171,7 +173,9 @@
ei->e2di_facl_high = ip->i_facl >> 32 & 0xffff;
ei->e2di_gen = ip->i_gen;
ei->e2di_uid = ip->i_uid;
+ ei->e2di_uid_high = ip->i_uid >> 32 & 0xffff;
ei->e2di_gid = ip->i_gid;
+ ei->e2di_gid_high = ip->i_gid>> 32 & 0xffff;
/* XXX use memcpy */
for (i = 0; i < EXT2_NDADDR; i++)
ei->e2di_blocks[i] = ip->i_db[i];

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 12, 2:57 PM (8 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40681016
Default Alt Text
D11354.id30066.diff (1 KB)

Event Timeline