diff mbox

e2fsck: Correct ext4 dates generated by old kernels

Message ID 20160307034331.GI30238@thunk.org
State Not Applicable
Headers show

Commit Message

Theodore Ts'o March 7, 2016, 3:43 a.m. UTC
On Thu, Feb 18, 2016 at 12:57:56PM -0700, Andreas Dilger wrote:
> From: David Turner <novalis@novalis.org>
> 
> Older kernels on 64-bit machines would incorrectly encode pre-1970
> ext4 dates as post-2311 dates.  Detect and correct this (assuming the
> current date is before 2242).
> 
> Includes tests for this, as well as changes to debugfs to correctly
> set crtimes.
> 
> Signed-off-by: David Turner <novalis@novalis.org>
> 
> - ext2_fs.h: declare EXT4_EPOCH_BITS/EXT4_EPOCH_MASK like the kernel
> 	instead of in a separate header in an unusual location
> - problem.h: move PR_1_EA_TIME_OUT_OF_RANGE to avoid master conflict
> - problem.c: fix PR_1_EA_TIME_OUT_OF_RANGE PR_*_OK flag usage
> - f_pre_1970_date_encoding/script: run debugfs less often,
> 	use $MKE2FS instead of mkfs.ext4, fit within 80 columns
> 
> Signed-off-by: Andreas Dilger <adilger@dilger.ca>

This patch is reporting test failures for the new
f_pre_1970_date_encoding.  Can you please take a look?

Thanks,

			       	   	       	 - Ted

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Andreas Dilger March 7, 2016, 11:34 a.m. UTC | #1
On maint or master? I'd applied and tested it on maint before sending it.

Cheers, Andreas

> On Mar 6, 2016, at 20:43, Theodore Ts'o <tytso@mit.edu> wrote:
> 
>> On Thu, Feb 18, 2016 at 12:57:56PM -0700, Andreas Dilger wrote:
>> From: David Turner <novalis@novalis.org>
>> 
>> Older kernels on 64-bit machines would incorrectly encode pre-1970
>> ext4 dates as post-2311 dates.  Detect and correct this (assuming the
>> current date is before 2242).
>> 
>> Includes tests for this, as well as changes to debugfs to correctly
>> set crtimes.
>> 
>> Signed-off-by: David Turner <novalis@novalis.org>
>> 
>> - ext2_fs.h: declare EXT4_EPOCH_BITS/EXT4_EPOCH_MASK like the kernel
>>    instead of in a separate header in an unusual location
>> - problem.h: move PR_1_EA_TIME_OUT_OF_RANGE to avoid master conflict
>> - problem.c: fix PR_1_EA_TIME_OUT_OF_RANGE PR_*_OK flag usage
>> - f_pre_1970_date_encoding/script: run debugfs less often,
>>    use $MKE2FS instead of mkfs.ext4, fit within 80 columns
>> 
>> Signed-off-by: Andreas Dilger <adilger@dilger.ca>
> 
> This patch is reporting test failures for the new
> f_pre_1970_date_encoding.  Can you please take a look?
> 
> Thanks,
> 
>                                          - Ted
> 
> --- /usr/projects/e2fsprogs/e2fsprogs/tests/f_pre_1970_date_encoding/expect    2016-03-07 03:17:46.268647450 +0000
> +++ f_pre_1970_date_encoding.timestamps.log    2016-03-07 03:20:52.067405831 +0000
> @@ -1,45 +1,45 @@
> times for year-1909 =
> - ctime: 0x8e475440:00000003
> - atime: 0x8e475440:00000003
> - mtime: 0x8e475440:00000003
> -crtime: 0x8e475440:00000003
> + ctime: 0x71b8abc0:00000003
> + atime: 0x71b8abc0:00000003
> + mtime: 0x71b8abc0:00000003
> +crtime: 0x71b8abc0:00000003
> times for year-1979 =
> - ctime: 0x11db6940:00000000
> - atime: 0x11db6940:00000000
> - mtime: 0x11db6940:00000000
> -crtime: 0x11db6940:00000000
> + ctime: 0x05efa740:00000000
> + atime: 0x05efa740:00000000
> + mtime: 0x05efa740:00000000
> +crtime: 0x05efa740:00000000
> times for year-2039 =
> - ctime: 0x82a37b40:00000001
> - atime: 0x82a37b40:00000001
> - mtime: 0x82a37b40:00000001
> -crtime: 0x82a37b40:00000001
> + ctime: 0x0b6de740:00000001
> + atime: 0x0b6de740:00000001
> + mtime: 0x0b6de740:00000001
> +crtime: 0x0b6de740:00000001
> times for year-2139 =
> - ctime: 0x3e9b9940:00000001
> - atime: 0x3e9b9940:00000001
> - mtime: 0x3e9b9940:00000001
> -crtime: 0x3e9b9940:00000001
> + ctime: 0x1495a740:00000001
> + atime: 0x1495a740:00000001
> + mtime: 0x1495a740:00000001
> +crtime: 0x1495a740:00000001
> times for year-1909 =
> - ctime: 0x8e475440:00000000
> - atime: 0x8e475440:00000000
> - mtime: 0x8e475440:00000000
> -crtime: 0x8e475440:00000000
> + ctime: 0x71b8abc0:00000003
> + atime: 0x71b8abc0:00000003
> + mtime: 0x71b8abc0:00000003
> +crtime: 0x71b8abc0:00000003
> times for year-1979 =
> - ctime: 0x11db6940:00000000
> - atime: 0x11db6940:00000000
> - mtime: 0x11db6940:00000000
> -crtime: 0x11db6940:00000000
> + ctime: 0x05efa740:00000000
> + atime: 0x05efa740:00000000
> + mtime: 0x05efa740:00000000
> +crtime: 0x05efa740:00000000
> times for year-2039 =
> - ctime: 0x82a37b40:00000001
> - atime: 0x82a37b40:00000001
> - mtime: 0x82a37b40:00000001
> -crtime: 0x82a37b40:00000001
> + ctime: 0x0b6de740:00000001
> + atime: 0x0b6de740:00000001
> + mtime: 0x0b6de740:00000001
> +crtime: 0x0b6de740:00000001
> times for year-2139 =
> - ctime: 0x3e9b9940:00000001
> - atime: 0x3e9b9940:00000001
> - mtime: 0x3e9b9940:00000001
> -crtime: 0x3e9b9940:00000001
> + ctime: 0x1495a740:00000001
> + atime: 0x1495a740:00000001
> + mtime: 0x1495a740:00000001
> +crtime: 0x1495a740:00000001
> times for year-1909 =
> - ctime: 0x8e475440:00000003
> - atime: 0x8e475440:00000003
> - mtime: 0x8e475440:00000003
> -crtime: 0x8e475440:00000003
> + ctime: 0x71b8abc0:00000003
> + atime: 0x71b8abc0:00000003
> + mtime: 0x71b8abc0:00000003
> +crtime: 0x71b8abc0:00000003
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Theodore Ts'o March 7, 2016, 3:27 p.m. UTC | #2
On Mon, Mar 07, 2016 at 04:34:04AM -0700, Andreas Dilger wrote:
> On maint or master? I'd applied and tested it on maint before sending it.

At least on my tree David Turner's 64-bit date changes only landed on
the master/next branch.  It was never on the maint branch....

    			    	      	      - Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- /usr/projects/e2fsprogs/e2fsprogs/tests/f_pre_1970_date_encoding/expect	2016-03-07 03:17:46.268647450 +0000
+++ f_pre_1970_date_encoding.timestamps.log	2016-03-07 03:20:52.067405831 +0000
@@ -1,45 +1,45 @@ 
 times for year-1909 =
- ctime: 0x8e475440:00000003
- atime: 0x8e475440:00000003
- mtime: 0x8e475440:00000003
-crtime: 0x8e475440:00000003
+ ctime: 0x71b8abc0:00000003
+ atime: 0x71b8abc0:00000003
+ mtime: 0x71b8abc0:00000003
+crtime: 0x71b8abc0:00000003
 times for year-1979 =
- ctime: 0x11db6940:00000000
- atime: 0x11db6940:00000000
- mtime: 0x11db6940:00000000
-crtime: 0x11db6940:00000000
+ ctime: 0x05efa740:00000000
+ atime: 0x05efa740:00000000
+ mtime: 0x05efa740:00000000
+crtime: 0x05efa740:00000000
 times for year-2039 =
- ctime: 0x82a37b40:00000001
- atime: 0x82a37b40:00000001
- mtime: 0x82a37b40:00000001
-crtime: 0x82a37b40:00000001
+ ctime: 0x0b6de740:00000001
+ atime: 0x0b6de740:00000001
+ mtime: 0x0b6de740:00000001
+crtime: 0x0b6de740:00000001
 times for year-2139 =
- ctime: 0x3e9b9940:00000001
- atime: 0x3e9b9940:00000001
- mtime: 0x3e9b9940:00000001
-crtime: 0x3e9b9940:00000001
+ ctime: 0x1495a740:00000001
+ atime: 0x1495a740:00000001
+ mtime: 0x1495a740:00000001
+crtime: 0x1495a740:00000001
 times for year-1909 =
- ctime: 0x8e475440:00000000
- atime: 0x8e475440:00000000
- mtime: 0x8e475440:00000000
-crtime: 0x8e475440:00000000
+ ctime: 0x71b8abc0:00000003
+ atime: 0x71b8abc0:00000003
+ mtime: 0x71b8abc0:00000003
+crtime: 0x71b8abc0:00000003
 times for year-1979 =
- ctime: 0x11db6940:00000000
- atime: 0x11db6940:00000000
- mtime: 0x11db6940:00000000
-crtime: 0x11db6940:00000000
+ ctime: 0x05efa740:00000000
+ atime: 0x05efa740:00000000
+ mtime: 0x05efa740:00000000
+crtime: 0x05efa740:00000000
 times for year-2039 =
- ctime: 0x82a37b40:00000001
- atime: 0x82a37b40:00000001
- mtime: 0x82a37b40:00000001
-crtime: 0x82a37b40:00000001
+ ctime: 0x0b6de740:00000001
+ atime: 0x0b6de740:00000001
+ mtime: 0x0b6de740:00000001
+crtime: 0x0b6de740:00000001
 times for year-2139 =
- ctime: 0x3e9b9940:00000001
- atime: 0x3e9b9940:00000001
- mtime: 0x3e9b9940:00000001
-crtime: 0x3e9b9940:00000001
+ ctime: 0x1495a740:00000001
+ atime: 0x1495a740:00000001
+ mtime: 0x1495a740:00000001
+crtime: 0x1495a740:00000001
 times for year-1909 =
- ctime: 0x8e475440:00000003
- atime: 0x8e475440:00000003
- mtime: 0x8e475440:00000003
-crtime: 0x8e475440:00000003
+ ctime: 0x71b8abc0:00000003
+ atime: 0x71b8abc0:00000003
+ mtime: 0x71b8abc0:00000003
+crtime: 0x71b8abc0:00000003