All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
To: Chris Wright <chrisw@sous-sol.org>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Hao, Xudong" <xudong.hao@intel.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Avi Kivity <avi@redhat.com>,
	mohan@in.ibm.com, Jes.Sorensen@redhat.com
Subject: Re: [Qemu-devel] Re: [PATCH] virtio-9p: fix build on !CONFIG_UTIMENSAT v2
Date: Mon, 15 Nov 2010 11:10:37 +0900	[thread overview]
Message-ID: <4CE0969D.5070703@jp.fujitsu.com> (raw)
In-Reply-To: <20101114055822.GE25164@sequoia.sous-sol.org>

(2010/11/14 14:58), Chris Wright wrote:
> * Hidetoshi Seto (seto.hidetoshi@jp.fujitsu.com) wrote:
>> +    /*
>> +     * Fallback: use utimes() instead of utimensat().
>> +     * See commit 74bc02b2d2272dc88fb98d43e631eb154717f517 for known problem.
>> +     */
>> +    struct timeval tv[2];
>> +    int i;
>> +
>> +    for (i = 0; i < 2; i++) {
>> +        if (times[i].tv_nsec == UTIME_OMIT || times[i].tv_nsec == UTIME_NOW) {
>> +            tv[i].tv_sec = 0;
>> +            tv[i].tv_usec = 0;
> 
> I don't think this is accurate in either case.  It will set the
> atime, mtime, or both to 0.
> 
> For UTIME_NOW (in both) we'd simply pass NULL to utimes(2).  For
> UTIME_OMIT (in both) we'd simply skip the call to utimes(2) altogether.
> 
> The harder part is a mixed mode (i.e. the truncate fix mentioned in the
> above commit).  I think the only way to handle UTIME_NOW in one is to
> call gettimeofday (or clock_gettime for better resolution) to find out
> what current time is.  And for UTIME_OMIT call stat to find out what the
> current setting is and reset to that value.  Both of those cases can
> possibly zero out the extra precision (providing only seconds
> resolution).

Thank you for comments!
I'll post an updated one soon.

Thanks,
H.Seto


WARNING: multiple messages have this Message-ID (diff)
From: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
To: Chris Wright <chrisw@sous-sol.org>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Jes.Sorensen@redhat.com, "Hao, Xudong" <xudong.hao@intel.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Blue Swirl <blauwirbel@gmail.com>,
	mohan@in.ibm.com, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH] virtio-9p: fix build on !CONFIG_UTIMENSAT v2
Date: Mon, 15 Nov 2010 11:10:37 +0900	[thread overview]
Message-ID: <4CE0969D.5070703@jp.fujitsu.com> (raw)
In-Reply-To: <20101114055822.GE25164@sequoia.sous-sol.org>

(2010/11/14 14:58), Chris Wright wrote:
> * Hidetoshi Seto (seto.hidetoshi@jp.fujitsu.com) wrote:
>> +    /*
>> +     * Fallback: use utimes() instead of utimensat().
>> +     * See commit 74bc02b2d2272dc88fb98d43e631eb154717f517 for known problem.
>> +     */
>> +    struct timeval tv[2];
>> +    int i;
>> +
>> +    for (i = 0; i < 2; i++) {
>> +        if (times[i].tv_nsec == UTIME_OMIT || times[i].tv_nsec == UTIME_NOW) {
>> +            tv[i].tv_sec = 0;
>> +            tv[i].tv_usec = 0;
> 
> I don't think this is accurate in either case.  It will set the
> atime, mtime, or both to 0.
> 
> For UTIME_NOW (in both) we'd simply pass NULL to utimes(2).  For
> UTIME_OMIT (in both) we'd simply skip the call to utimes(2) altogether.
> 
> The harder part is a mixed mode (i.e. the truncate fix mentioned in the
> above commit).  I think the only way to handle UTIME_NOW in one is to
> call gettimeofday (or clock_gettime for better resolution) to find out
> what current time is.  And for UTIME_OMIT call stat to find out what the
> current setting is and reset to that value.  Both of those cases can
> possibly zero out the extra precision (providing only seconds
> resolution).

Thank you for comments!
I'll post an updated one soon.

Thanks,
H.Seto

  reply	other threads:[~2010-11-15  2:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-12  1:52 [Qemu-devel] qemu-kvm build issue on RHEL5.1 Hao, Xudong
2010-10-13  8:00 ` Hidetoshi Seto
2010-10-13  8:00   ` Hidetoshi Seto
2010-10-13  8:13   ` Hao, Xudong
2010-10-13  8:13     ` Hao, Xudong
2010-10-13 19:11   ` Blue Swirl
2010-10-14  0:33     ` Hidetoshi Seto
2010-11-04 17:03       ` Chris Wright
2010-11-05  6:32         ` Hidetoshi Seto
2010-11-05  6:32         ` [PATCH] virtio-9p: fix build on !CONFIG_UTIMENSAT v2 Hidetoshi Seto
2010-11-05  6:32           ` [Qemu-devel] " Hidetoshi Seto
2010-11-08  6:44           ` M. Mohan Kumar
2010-11-08  6:44             ` M. Mohan Kumar
2010-11-12 12:33             ` Jes Sorensen
2010-11-12 12:33               ` Jes Sorensen
2010-11-14  5:58           ` Chris Wright
2010-11-14  5:58             ` [Qemu-devel] " Chris Wright
2010-11-15  2:10             ` Hidetoshi Seto [this message]
2010-11-15  2:10               ` Hidetoshi Seto
2010-11-15  2:15               ` [PATCH v3] virtio-9p: fix build on !CONFIG_UTIMENSAT Hidetoshi Seto
2010-11-15  2:15                 ` [Qemu-devel] " Hidetoshi Seto
2010-11-15  3:36                 ` Chris Wright
2010-11-15  3:36                   ` [Qemu-devel] " Chris Wright
2010-11-15 16:49                 ` M. Mohan Kumar
2010-11-15 16:49                   ` [Qemu-devel] " M. Mohan Kumar
2010-11-21 15:22                 ` [Qemu-devel] " Anthony Liguori
2010-11-21 15:22                   ` Anthony Liguori
2010-11-22  6:28                   ` Jes Sorensen
2010-11-22  6:28                     ` Jes Sorensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CE0969D.5070703@jp.fujitsu.com \
    --to=seto.hidetoshi@jp.fujitsu.com \
    --cc=Jes.Sorensen@redhat.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=chrisw@sous-sol.org \
    --cc=kvm@vger.kernel.org \
    --cc=mohan@in.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xudong.hao@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.