aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2018-02-02 09:32:43 -0600
committerEric Sandeen <sandeen@redhat.com>2018-02-02 09:32:43 -0600
commitba795fb147cb7b702dc03df7bf7f1938cb636d8f (patch)
treed9083db96f8a090e4dc0faf9d66dfa7d04df5668
parent50663dc149619aef23bcb43e6fdf48bc60487374 (diff)
downloadxfsprogs-dev-ba795fb147cb7b702dc03df7bf7f1938cb636d8f.tar.gz
xfs_db: interpret inode timestamps as signed integers
The Linux kernel treats core.*time.sec as a signed integer value, so xfs_db should do likewise, or else files will have inconsistent times if the seconds count is negative. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r--db/fprint.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/db/fprint.c b/db/fprint.c
index 261a31ef4f..e8eb510112 100644
--- a/db/fprint.c
+++ b/db/fprint.c
@@ -147,7 +147,8 @@ fp_time(
i++, bitpos += size) {
if (array)
dbprintf("%d:", i + base);
- t=(time_t)getbitval((char *)obj + byteize(bitpos), 0, sizeof(int32_t)*8, 0);
+ t = (time_t)getbitval((char *)obj + byteize(bitpos), 0,
+ sizeof(int32_t) * 8, BVSIGNED);
c = ctime(&t);
dbprintf("%24.24s", c);
if (i < count - 1)