[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e388505b98a96763ea8b5d8197a9a2a17ec08601.camel@ibm.com>
Date: Wed, 28 May 2025 21:26:26 +0000
From: Viacheslav Dubeyko <Slava.Dubeyko@....com>
To: "frank.li@...o.com" <frank.li@...o.com>,
"glaubitz@...sik.fu-berlin.de"
<glaubitz@...sik.fu-berlin.de>,
"slava@...eyko.com" <slava@...eyko.com>
CC: "linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: 回复: [PATCH v2 2/3] hfs: correct superblock flags
On Wed, 2025-05-28 at 16:37 +0000, 李扬韬 wrote:
> Hi Slava,
>
> > I am slightly confused by comment. Does it mean that the fix introduces more errors? It looks like we need to have more clear explanation of the fix here.
>
> I'll update commit msg.
>
> > s->s_flags |= SB_NODIRATIME | SB_NOATIME;
>
> IIUC, SB_NOATIME > SB_NODIRATIME.
>
Semantically, it's two different flags. One is responsible for files and another
one is responsible for folders. So, this is why I believe it's more safe to have
these both flags.
Implementation could change but setting these flags we guarantee that it needs
to take into account not to update atime for files and folders.
> So we should correct flags in smb, ceph.
>
I am not sure that it makes sense. It's more safe to have both flags set.
Thanks,
Slava.
> 2091 bool atime_needs_update(const struct path *path, struct inode *inode)
> 2092 {
> 2093 struct vfsmount *mnt = path->mnt;
> 2094 struct timespec64 now, atime;
> 2095
> 2096 if (inode->i_flags & S_NOATIME)
> 2097 return false;
> 2098
> 2099 /* Atime updates will likely cause i_uid and i_gid to be written
> 2100 ¦* back improprely if their true value is unknown to the vfs.
> 2101 ¦*/
> 2102 if (HAS_UNMAPPED_ID(mnt_idmap(mnt), inode))
> 2103 return false;
> 2104
> 2105 if (IS_NOATIME(inode))
> 2106 return false;
> 2107 if ((inode->i_sb->s_flags & SB_NODIRATIME) && S_ISDIR(inode->i_mode))
> 2108 return false;
>
> Thx,
> Yangtao
Powered by blists - more mailing lists