|
@@ -1986,6 +1986,7 @@ static void udf_open_lvid(struct super_block *sb)
|
|
|
struct buffer_head *bh = sbi->s_lvid_bh;
|
|
|
struct logicalVolIntegrityDesc *lvid;
|
|
|
struct logicalVolIntegrityDescImpUse *lvidiu;
|
|
|
+ struct timespec ts;
|
|
|
|
|
|
if (!bh)
|
|
|
return;
|
|
@@ -1997,8 +1998,8 @@ static void udf_open_lvid(struct super_block *sb)
|
|
|
mutex_lock(&sbi->s_alloc_mutex);
|
|
|
lvidiu->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX;
|
|
|
lvidiu->impIdent.identSuffix[1] = UDF_OS_ID_LINUX;
|
|
|
- udf_time_to_disk_stamp(&lvid->recordingDateAndTime,
|
|
|
- CURRENT_TIME);
|
|
|
+ ktime_get_real_ts(&ts);
|
|
|
+ udf_time_to_disk_stamp(&lvid->recordingDateAndTime, ts);
|
|
|
lvid->integrityType = cpu_to_le32(LVID_INTEGRITY_TYPE_OPEN);
|
|
|
|
|
|
lvid->descTag.descCRC = cpu_to_le16(
|
|
@@ -2019,6 +2020,7 @@ static void udf_close_lvid(struct super_block *sb)
|
|
|
struct buffer_head *bh = sbi->s_lvid_bh;
|
|
|
struct logicalVolIntegrityDesc *lvid;
|
|
|
struct logicalVolIntegrityDescImpUse *lvidiu;
|
|
|
+ struct timespec ts;
|
|
|
|
|
|
if (!bh)
|
|
|
return;
|
|
@@ -2030,7 +2032,8 @@ static void udf_close_lvid(struct super_block *sb)
|
|
|
mutex_lock(&sbi->s_alloc_mutex);
|
|
|
lvidiu->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX;
|
|
|
lvidiu->impIdent.identSuffix[1] = UDF_OS_ID_LINUX;
|
|
|
- udf_time_to_disk_stamp(&lvid->recordingDateAndTime, CURRENT_TIME);
|
|
|
+ ktime_get_real_ts(&ts);
|
|
|
+ udf_time_to_disk_stamp(&lvid->recordingDateAndTime, ts);
|
|
|
if (UDF_MAX_WRITE_VERSION > le16_to_cpu(lvidiu->maxUDFWriteRev))
|
|
|
lvidiu->maxUDFWriteRev = cpu_to_le16(UDF_MAX_WRITE_VERSION);
|
|
|
if (sbi->s_udfrev > le16_to_cpu(lvidiu->minUDFReadRev))
|