|
@@ -1270,7 +1270,6 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
|
|
|
struct udf_inode_info *iinfo = UDF_I(inode);
|
|
|
struct udf_sb_info *sbi = UDF_SB(inode->i_sb);
|
|
|
struct kernel_lb_addr *iloc = &iinfo->i_location;
|
|
|
- struct timespec ts;
|
|
|
unsigned int link_count;
|
|
|
unsigned int indirections = 0;
|
|
|
int bs = inode->i_sb->s_blocksize;
|
|
@@ -1443,12 +1442,9 @@ reread:
|
|
|
inode->i_blocks = le64_to_cpu(fe->logicalBlocksRecorded) <<
|
|
|
(inode->i_sb->s_blocksize_bits - 9);
|
|
|
|
|
|
- udf_disk_stamp_to_time(&ts, fe->accessTime);
|
|
|
- inode->i_atime = timespec_to_timespec64(ts);
|
|
|
- udf_disk_stamp_to_time(&ts, fe->modificationTime);
|
|
|
- inode->i_mtime = timespec_to_timespec64(ts);
|
|
|
- udf_disk_stamp_to_time(&ts, fe->attrTime);
|
|
|
- inode->i_ctime = timespec_to_timespec64(ts);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_atime, fe->accessTime);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_mtime, fe->modificationTime);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_ctime, fe->attrTime);
|
|
|
|
|
|
iinfo->i_unique = le64_to_cpu(fe->uniqueID);
|
|
|
iinfo->i_lenEAttr = le32_to_cpu(fe->lengthExtendedAttr);
|
|
@@ -1458,13 +1454,10 @@ reread:
|
|
|
inode->i_blocks = le64_to_cpu(efe->logicalBlocksRecorded) <<
|
|
|
(inode->i_sb->s_blocksize_bits - 9);
|
|
|
|
|
|
- udf_disk_stamp_to_time(&ts, efe->accessTime);
|
|
|
- inode->i_atime = timespec_to_timespec64(ts);
|
|
|
- udf_disk_stamp_to_time(&ts, efe->modificationTime);
|
|
|
- inode->i_mtime = timespec_to_timespec64(ts);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_atime, efe->accessTime);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_mtime, efe->modificationTime);
|
|
|
udf_disk_stamp_to_time(&iinfo->i_crtime, efe->createTime);
|
|
|
- udf_disk_stamp_to_time(&ts, efe->attrTime);
|
|
|
- inode->i_ctime = timespec_to_timespec64(ts);
|
|
|
+ udf_disk_stamp_to_time(&inode->i_ctime, efe->attrTime);
|
|
|
|
|
|
iinfo->i_unique = le64_to_cpu(efe->uniqueID);
|
|
|
iinfo->i_lenEAttr = le32_to_cpu(efe->lengthExtendedAttr);
|
|
@@ -1601,7 +1594,7 @@ static int udf_sync_inode(struct inode *inode)
|
|
|
return udf_update_inode(inode, 1);
|
|
|
}
|
|
|
|
|
|
-static void udf_adjust_time(struct udf_inode_info *iinfo, struct timespec time)
|
|
|
+static void udf_adjust_time(struct udf_inode_info *iinfo, struct timespec64 time)
|
|
|
{
|
|
|
if (iinfo->i_crtime.tv_sec > time.tv_sec ||
|
|
|
(iinfo->i_crtime.tv_sec == time.tv_sec &&
|
|
@@ -1714,12 +1707,9 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
|
|
inode->i_sb->s_blocksize - sizeof(struct fileEntry));
|
|
|
fe->logicalBlocksRecorded = cpu_to_le64(lb_recorded);
|
|
|
|
|
|
- udf_time_to_disk_stamp(&fe->accessTime,
|
|
|
- timespec64_to_timespec(inode->i_atime));
|
|
|
- udf_time_to_disk_stamp(&fe->modificationTime,
|
|
|
- timespec64_to_timespec(inode->i_mtime));
|
|
|
- udf_time_to_disk_stamp(&fe->attrTime,
|
|
|
- timespec64_to_timespec(inode->i_ctime));
|
|
|
+ udf_time_to_disk_stamp(&fe->accessTime, inode->i_atime);
|
|
|
+ udf_time_to_disk_stamp(&fe->modificationTime, inode->i_mtime);
|
|
|
+ udf_time_to_disk_stamp(&fe->attrTime, inode->i_ctime);
|
|
|
memset(&(fe->impIdent), 0, sizeof(struct regid));
|
|
|
strcpy(fe->impIdent.ident, UDF_ID_DEVELOPER);
|
|
|
fe->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX;
|
|
@@ -1738,17 +1728,14 @@ static int udf_update_inode(struct inode *inode, int do_sync)
|
|
|
efe->objectSize = cpu_to_le64(inode->i_size);
|
|
|
efe->logicalBlocksRecorded = cpu_to_le64(lb_recorded);
|
|
|
|
|
|
- udf_adjust_time(iinfo, timespec64_to_timespec(inode->i_atime));
|
|
|
- udf_adjust_time(iinfo, timespec64_to_timespec(inode->i_mtime));
|
|
|
- udf_adjust_time(iinfo, timespec64_to_timespec(inode->i_ctime));
|
|
|
+ udf_adjust_time(iinfo, inode->i_atime);
|
|
|
+ udf_adjust_time(iinfo, inode->i_mtime);
|
|
|
+ udf_adjust_time(iinfo, inode->i_ctime);
|
|
|
|
|
|
- udf_time_to_disk_stamp(&efe->accessTime,
|
|
|
- timespec64_to_timespec(inode->i_atime));
|
|
|
- udf_time_to_disk_stamp(&efe->modificationTime,
|
|
|
- timespec64_to_timespec(inode->i_mtime));
|
|
|
+ udf_time_to_disk_stamp(&efe->accessTime, inode->i_atime);
|
|
|
+ udf_time_to_disk_stamp(&efe->modificationTime, inode->i_mtime);
|
|
|
udf_time_to_disk_stamp(&efe->createTime, iinfo->i_crtime);
|
|
|
- udf_time_to_disk_stamp(&efe->attrTime,
|
|
|
- timespec64_to_timespec(inode->i_ctime));
|
|
|
+ udf_time_to_disk_stamp(&efe->attrTime, inode->i_ctime);
|
|
|
|
|
|
memset(&(efe->impIdent), 0, sizeof(efe->impIdent));
|
|
|
strcpy(efe->impIdent.ident, UDF_ID_DEVELOPER);
|