Re: [PATCH v2 2/3] hfs: correct superblock flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+cc Christian Brauner

在 2025/5/29 05:26, Viacheslav Dubeyko 写道:
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.

To be honest, from my point of view, SB_NOATIME is more like disabling atime updates for all types of files, not just files. I would like to know what vfs people think, whether we need to use both flags at the same time.


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




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux