Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Oct 2008 12:01:24 +0400
From:      Boris Samorodov <bsam@ipt.ru>
To:        "Jeremy Messenger" <mezz7@cox.net>
Cc:        freebsd-emulation@freebsd.org, d@delphij.net
Subject:   Re: Linux compat 2.6.16 reports time incorrect?
Message-ID:  <16667467@ipt.ru>
In-Reply-To: <op.ujc14i179aq2h7@localhost> (Jeremy Messenger's message of "Tue\, 21 Oct 2008 01\:10\:56 -0500")
References:  <op.ujcureb09aq2h7@localhost> <48FD5EB8.9030405@delphij.net> <op.ujc14i179aq2h7@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 21 Oct 2008 01:10:56 -0500 Jeremy Messenger wrote:
> On Mon, 20 Oct 2008 23:46:48 -0500, Xin LI <delphij@delphij.net> wrote:

> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Jeremy Messenger wrote:
> >> Hello folks,
> >>
> >> I have updated RELENG_7 recently, and switched to 2.6.26 and f8 at the
> >> same time. I am not sure which I am supposed to blame on. :-) Anyway,
> >> now my linux-opera M2 (mail) client reports time incorrect. So I have
> >> checked with date(1) and it does indeed report different.
> >>
> >> ----------------------------------
> >> # /bin/date
> >> Mon Oct 20 22:28:35 CDT 2008
> >> # /compat/linux/bin/date
> >> Tue Oct 21 03:28:38 UTC 2008
> >> ----------------------------------
> >>
> >> I do not remember for have to configure the date correct for Linux 2.4
> >> stuff before I update RELENG_7 and switched to newer 2.6.16 stuff. I am
> >> wondering if I have to do that now for configure time or it's not
> >> normal?
> >
> > Looks like you don't have a proper /etc/localtime setting?  I think
> > tzsetup would help...

> I don't think so. FreeBSD's orignal /bin/date reports correct, but
> /compat/linux/bin/date reported different. I have downgraded Linux
> compat  back to 2.4 and linux_base-fc4 stuff, now I have this:

> ----------------------------------
> # /bin/date
> Tue Oct 21 01:03:20 CDT 2008
> # /compat/linux/bin/date
> Tue Oct 21 01:03:23 CDT 2008
> ----------------------------------

> Which is correct. So.. Must be either a bug in Linux compat 2.6.16 or
> linux_base-f8 or it's new that I have to configure in /compat/linux/*
> for  time stuff?

Ktrace/linux_kdump for "/compat/linux/bin/date" with 2.6.16 and f8
give:
-----
...
 66771 date     NAMI  "/compat/linux/etc/localtime"
 66771 date     NAMI  "/etc/localtime"
 66771 date     RET   linux_open 3
 66771 date     CALL  linux_fstat64(0x3,0xbfbfea18,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_fstat64(0x3,0xbfbfe868,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_mmap2(0,0x1000,0x3,0x22,0xffffffff,0)
 66771 date     RET   linux_mmap2 671551488/0x28071000
 66771 date     CALL  read(0x3,0x28071000,0x1000)
 66771 date     GIO   fd 3 read 815 bytes
       "TZif\0\0\0\0\0\0\0\0\0\0\0\0"
 66771 date     RET   read 815/0x32f
 66771 date     CALL  read(0x3,0x28071000,0x1000)
 66771 date     GIO   fd 3 read 0 bytes
       ""
 66771 date     RET   read 0
 66771 date     CALL  close(0x3)
 66771 date     RET   close 0
 66771 date     CALL  munmap(0x28071000,0x1000)
 66771 date     RET   munmap 0
 66771 date     CALL  linux_open(0x281ab044,0,0x1b6)
 66771 date     NAMI  "/compat/linux/etc/localtime"
 66771 date     NAMI  "/etc/localtime"
 66771 date     RET   linux_open 3
 66771 date     CALL  linux_fstat64(0x3,0xbfbfe3ac,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_fstat64(0x3,0xbfbfe1fc,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_mmap2(0,0x1000,0x3,0x22,0xffffffff,0)
 66771 date     RET   linux_mmap2 671551488/0x28071000
 66771 date     CALL  read(0x3,0x28071000,0x1000)
 66771 date     GIO   fd 3 read 815 bytes
       "TZif\0\0\0\0\0\0\0\0\0\0\0\0"
 66771 date     RET   read 815/0x32f
 66771 date     CALL  read(0x3,0x28071000,0x1000)
 66771 date     GIO   fd 3 read 0 bytes
       ""
 66771 date     RET   read 0
 66771 date     CALL  close(0x3)
 66771 date     RET   close 0
 66771 date     CALL  munmap(0x28071000,0x1000)
 66771 date     RET   munmap 0
 66771 date     CALL  linux_fstat64(0x1,0xbfbfe4b0,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_mmap2(0,0x1000,0x3,0x22,0xffffffff,0)
 66771 date     RET   linux_mmap2 671551488/0x28071000
 66771 date     CALL  linux_open(0x281ab044,0,0x1b6)
 66771 date     NAMI  "/compat/linux/etc/localtime"
 66771 date     NAMI  "/etc/localtime"
 66771 date     RET   linux_open 3
 66771 date     CALL  linux_fstat64(0x3,0xbfbfe3ac,0x281d7ff4)
 66771 date     RET   linux_fstat64 0
 66771 date     CALL  linux_fstat64(0x3,0xbfbfe1fc,0x281d7ff4)
...
-----

The file /etc/localtime is accessed three times and every time is
rejected. May be the structure of this file has been changed for
linux since 2.4.2?


WBR
-- 
bsam



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16667467>