public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steve French <smfrench@austin.rr.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: ctime set by truncate even if NOCMTIME requested
Date: Mon, 19 Sep 2005 15:58:44 -0500	[thread overview]
Message-ID: <432F2684.4040300@austin.rr.com> (raw)
In-Reply-To: <1127156303.8519.29.camel@lade.trondhjem.org>

Trond Myklebust wrote:

>It is quite correct for the kernel to request that the filesystem set
>ctime/mtime on successful calls to open(O_TRUNC).
>  http://www.opengroup.org/onlinepubs/009695399/toc.htm
>  
>
I agree that it is correct to set ctime/mtime here, just not convinced 
it it worth setting it twice which is what will happen for non-local fs.

client truncate -> client setattr(for both size and ctime) -> server 
setattr (which will have a sideffect of ctime to be set on the server, 
not just the change to file size) and then another call to the server to 
set the ctime (which will end up setting ctime twice - one to the 
(correct) server's time and once to the less correct client's time.

Problem is I can't tell the difference inside the fs between the case of 
an application that needs to set ctime explicitly to something different 
than the server would want (e.g. presumably the touch utility) and 
something which can be ignored.    I noticed this when I found a server 
(windows me) that was returning an error for setting timestamps - and 
this was causing errors to be returned to truncate.  In this case 
(server refusing to let the client fs (re)set the timestamps), I would 
like to return an error on touch, but succeed on truncate but I don't 
see a way to tell the difference reliably.

  reply	other threads:[~2005-09-19 21:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-19 17:51 ctime set by truncate even if NOCMTIME requested Steve French
2005-09-19 18:58 ` Trond Myklebust
2005-09-19 20:58   ` Steve French [this message]
2005-09-19 21:28     ` Trond Myklebust
     [not found]       ` <432F5968.1020106@austin.rr.com>
2005-09-20  1:36         ` Trond Myklebust
2005-09-20  2:16           ` Steve French
2005-09-20 12:11             ` Andreas Dilger
2005-09-20  8:52           ` Miklos Szeredi
2005-09-20 10:05             ` Miklos Szeredi
2005-09-20 12:12               ` Trond Myklebust
2005-09-20 12:20                 ` Miklos Szeredi
2005-09-20 12:27                   ` Trond Myklebust
2005-09-20  8:48   ` Miklos Szeredi

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=432F2684.4040300@austin.rr.com \
    --to=smfrench@austin.rr.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=trond.myklebust@fys.uio.no \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox