static inline __u32 __encode_extra_time(time_t seconds, __u32 nsec)
{
- __u32 extra = ((seconds - (__s32)seconds) >> 32) & EXT4_EPOCH_MASK;
+ __u32 extra = 0;
+
+#if (SIZEOF_TIME_T > 4)
+ extra = ((seconds - (__s32)seconds) >> 32) & EXT4_EPOCH_MASK;
+#endif
return extra | (nsec << EXT4_EPOCH_BITS);
}
static inline time_t __decode_extra_sec(time_t seconds, __u32 extra)
{
+#if (SIZEOF_TIME_T > 4)
if (extra & EXT4_EPOCH_MASK)
seconds += ((time_t)(extra & EXT4_EPOCH_MASK) << 32);
+#endif
return seconds;
}
static inline __u32 __decode_extra_nsec(__u32 extra)
static inline void __sb_set_tstamp(__u32 *lo, __u8 *hi, time_t seconds)
{
*lo = seconds & 0xffffffff;
+#if (SIZEOF_TIME_T > 4)
*hi = seconds >> 32;
+#else
+ *hi = 0;
+#endif
}
static inline time_t __sb_get_tstamp(__u32 *lo, __u8 *hi)
{
+#if (SIZEOF_TIME_T == 4)
+ return *lo;
+#else
return ((time_t)(*hi) << 32) | *lo;
+#endif
}
#define ext2fs_set_tstamp(sb, field, seconds) \
__sb_set_tstamp(&(sb)->field, &(sb)->field ## _hi, seconds)
Restarting e2fsck from the beginning...
Pass 1: Checking inodes, blocks, and sizes
Inode 12 block 37 conflicts with critical metadata, skipping block checks.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967294 for in-use block map
-Illegal block number passed to ext2fs_mark_block_bitmap #4294967294 for in-use block map
+Illegal block number passed to ext2fs_test_block_bitmap #2147483646 for in-use block map
+Illegal block number passed to ext2fs_mark_block_bitmap #2147483646 for in-use block map
Illegal block number passed to ext2fs_test_block_bitmap #268435455 for in-use block map
Illegal block number passed to ext2fs_mark_block_bitmap #268435455 for in-use block map
Running additional passes to resolve blocks claimed by more than one inode...
Pass 1B: Rescanning for multiply-claimed blocks
-Illegal block number passed to ext2fs_test_block_bitmap #4294967294 for multiply claimed block map
+Illegal block number passed to ext2fs_test_block_bitmap #2147483646 for multiply claimed block map
Illegal block number passed to ext2fs_test_block_bitmap #268435455 for multiply claimed block map
Multiply-claimed block(s) in inode 12: 37
Pass 1C: Scanning directories for inodes with multiply-claimed blocks
<filesystem metadata>
Clone multiply-claimed blocks? yes
-Illegal block number passed to ext2fs_test_block_bitmap #4294967294 for multiply claimed block map
+Illegal block number passed to ext2fs_test_block_bitmap #2147483646 for multiply claimed block map
Illegal block number passed to ext2fs_test_block_bitmap #268435455 for multiply claimed block map
Pass 2: Checking directory structure
Setting filetype for entry 'bad1' in / (2) to 1.
Restarting e2fsck from the beginning...
Pass 1: Checking inodes, blocks, and sizes
Inode 12 has an invalid extent
- (logical block 0, invalid physical block 4294967294, len 1)
+ (logical block 0, invalid physical block 2147483646, len 1)
Clear? yes
Inode 12 has an invalid extent