From: Jeff Layton <jlayton@kernel.org>
To: Tom Talpey <tom@talpey.com>,
Christian Brauner <brauner@kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Brad Warrum <bwarrum@linux.ibm.com>,
Ritu Agarwal <rituagar@linux.ibm.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ian Kent <raven@themaw.net>,
"Tigran A. Aivazian" <aivazian.tigran@gmail.com>,
Jeremy Kerr <jk@ozlabs.org>, Ard Biesheuvel <ardb@kernel.org>,
Namjae Jeon <linkinjeon@kernel.org>,
Sungjong Seo <sj1557.seo@samsung.com>,
Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
Ronnie Sahlberg <lsahlber@redhat.com>,
Shyam Prasad N <sprasad@microsoft.com>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Ruihan Li <lrh2000@pku.edu.cn>,
Sebastian Reichel <sebastian.reichel@collabora.com>,
Alan Stern <stern@rowland.harvard.edu>,
Suren Baghdasaryan <surenb@google.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
autofs@vger.kernel.org, linux-efi@vger.kernel.org,
linux-fsdevel@vger.kernel.org, linux-cifs@vger.kernel.org,
samba-technical@lists.samba.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH v2 8/8] cifs: update the ctime on a partial page write
Date: Mon, 12 Jun 2023 09:51:50 -0400 [thread overview]
Message-ID: <a6ca6c14a6b3727b7416198824b37bd7bd386180.camel@kernel.org> (raw)
In-Reply-To: <a34b598a-374b-5dbf-dd36-4b62e52fe36c@talpey.com>
On Mon, 2023-06-12 at 09:41 -0400, Tom Talpey wrote:
> On 6/12/2023 6:45 AM, Jeff Layton wrote:
> > POSIX says:
> >
> > "Upon successful completion, where nbyte is greater than 0, write()
> > shall mark for update the last data modification and last file status
> > change timestamps of the file..."
> >
> > Add the missing ctime update.
> >
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > ---
> > fs/smb/client/file.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c
> > index df88b8c04d03..a00038a326cf 100644
> > --- a/fs/smb/client/file.c
> > +++ b/fs/smb/client/file.c
> > @@ -2596,7 +2596,7 @@ static int cifs_partialpagewrite(struct page *page, unsigned from, unsigned to)
> > write_data, to - from, &offset);
> > cifsFileInfo_put(open_file);
> > /* Does mm or vfs already set times? */
> > - inode->i_atime = inode->i_mtime = current_time(inode);
> > + inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
>
> Question. It appears that roughly half the filesystems in this series
> don't touch the i_atime in this case. And the other half do. Which is
> correct? Did they incorrectly set i_atime instead of i_ctime?
>
I noticed that too, and with this set, I decided to not make any atime
changes since I wasn't sure.
I think the answer to your question is "it depends". atime is supposed
to be updated on reads, not writes, but sometimes a write requires a RMW
cycle of some flavor so one can imagine that in some cases we'd need to
update all three.
In this case, I'm not sure that updating any of these times is the right
thing to do. This is called from ->launder_folio, so the syscall that
issued the write is long gone and we're in writeback here.
With NFS, we generally leave timestamp updates to the server. Should any
of these timestamps be updated by the (SMB1) client here?
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2023-06-12 13:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 10:45 [PATCH v2 0/8] fs: add some missing ctime updates Jeff Layton
2023-06-12 10:45 ` [PATCH v2 1/8] ibmvmc: update ctime in conjunction with mtime on write Jeff Layton
2023-06-12 10:45 ` [PATCH v2 2/8] usb: update the ctime as well when updating mtime after an ioctl Jeff Layton
2023-06-12 10:45 ` [PATCH v2 3/8] autofs: set ctime as well when mtime changes on a dir Jeff Layton
2023-06-13 7:16 ` Ian Kent
2023-06-14 8:30 ` (subset) " Christian Brauner
2023-06-15 10:14 ` Ian Kent
2023-06-12 10:45 ` [PATCH v2 4/8] bfs: update ctime in addition to mtime when adding entries Jeff Layton
2023-06-12 10:45 ` [PATCH v2 5/8] efivarfs: update ctime when mtime changes on a write Jeff Layton
2023-06-12 10:45 ` [PATCH v2 6/8] exfat: ensure that ctime is updated whenever the mtime is Jeff Layton
2023-06-12 10:45 ` [PATCH v2 7/8] apparmor: update ctime whenever the mtime changes on an inode Jeff Layton
2023-06-12 10:45 ` [PATCH v2 8/8] cifs: update the ctime on a partial page write Jeff Layton
2023-06-12 13:41 ` Tom Talpey
2023-06-12 13:51 ` Jeff Layton [this message]
2023-08-30 0:08 ` [PATCH v2 0/8] fs: add some missing ctime updates Al Viro
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=a6ca6c14a6b3727b7416198824b37bd7bd386180.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=aivazian.tigran@gmail.com \
--cc=apparmor@lists.ubuntu.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=autofs@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=bwarrum@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=jk@ozlabs.org \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=linkinjeon@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lrh2000@pku.edu.cn \
--cc=lsahlber@redhat.com \
--cc=paul@paul-moore.com \
--cc=pc@manguebit.com \
--cc=raven@themaw.net \
--cc=rituagar@linux.ibm.com \
--cc=samba-technical@lists.samba.org \
--cc=sebastian.reichel@collabora.com \
--cc=serge@hallyn.com \
--cc=sfrench@samba.org \
--cc=sj1557.seo@samsung.com \
--cc=sprasad@microsoft.com \
--cc=stern@rowland.harvard.edu \
--cc=surenb@google.com \
--cc=tom@talpey.com \
--cc=viro@zeniv.linux.org.uk \
--cc=wsa+renesas@sang-engineering.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).