linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH v5 00/10] Support negative dentries on case-insensitive ext4 and f2fs
@ 2023-08-12  0:41 Gabriel Krisman Bertazi
  2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 01/10] fs: Expose helper to check if a directory needs casefolding Gabriel Krisman Bertazi
                   ` (9 more replies)
  0 siblings, 10 replies; 32+ messages in thread
From: Gabriel Krisman Bertazi @ 2023-08-12  0:41 UTC (permalink / raw)
  To: viro, brauner, tytso, ebiggers, jaegeuk
  Cc: linux-fsdevel, Gabriel Krisman Bertazi, linux-ext4, linux-f2fs-devel

Hi,

This is the v5 of this patchset.  Thanks Christian and Eric for you
review.

In this version, the patchset grew a bit because it adds:

  - a preparation patch to merge d_revalidate_name and d_revalidate,
  attending Christian's request.  The original patch is now touching
  several filesystems to update the hook signature, so it has grown
  quite a bit. But, all of that was autogenerated with coccinelle and
  tested with allyesconfig only.

  - A new patch to expose a helper from libfs that I use in ecryptfs.

  - Code to prevent ecryptfs from mounting on top of casefolded
  directories. Also following on Christian's review.

Other than these, there are some minor fixes, listed in each patch
changelog, and more clarifications on the locking, thanks to the
excellent feedback from Eric.

Eric, I believe I have covered the cases where instantiation can happen
and I don't think it is possible for a dentry to become positive amidst
the d_revalidation, since we are holding the inode parent lock to
synchronize with creations.  Please let me know if you find anything
else.

Finally, I've dropped the r-b tags from patch "fs: Expose name under
lookup to d_revalidate hooks", because it changed too much since
the time of review.

Regarding testing, I verified it doesn't regress fstests for f2fs and
ext4, verified building all filesystems work fine with allyesconfig,
even with variation of CONFIG_FS_ENCRYPTION and CONFIG_UNICODE, and,
finally, I checked I wasn't able to mount or lookup casefolded
directories with ecryptfs and overlayfs.

Thanks,

Gabriel Krisman Bertazi (10):
  fs: Expose helper to check if a directory needs casefolding
  ecryptfs: Reject casefold directory inodes
  9p: Split ->weak_revalidate from ->revalidate
  fs: Expose name under lookup to d_revalidate hooks
  fs: Add DCACHE_CASEFOLDED_NAME flag
  libfs: Validate negative dentries in case-insensitive directories
  libfs: Chain encryption checks after case-insensitive revalidation
  libfs: Merge encrypted_ci_dentry_ops and ci_dentry_ops
  ext4: Enable negative dentries on case-insensitive lookup
  f2fs: Enable negative dentries on case-insensitive lookup

 Documentation/filesystems/locking.rst |   3 +-
 Documentation/filesystems/vfs.rst     |  11 ++-
 fs/9p/vfs_dentry.c                    |  11 ++-
 fs/afs/dir.c                          |   6 +-
 fs/afs/dynroot.c                      |   4 +-
 fs/ceph/dir.c                         |   3 +-
 fs/coda/dir.c                         |   3 +-
 fs/crypto/fname.c                     |   3 +-
 fs/dcache.c                           |   8 ++
 fs/ecryptfs/dentry.c                  |   5 +-
 fs/ecryptfs/inode.c                   |   8 ++
 fs/exfat/namei.c                      |   3 +-
 fs/ext4/namei.c                       |  35 +-------
 fs/f2fs/namei.c                       |  25 +-----
 fs/fat/namei_vfat.c                   |   6 +-
 fs/fuse/dir.c                         |   3 +-
 fs/gfs2/dentry.c                      |   3 +-
 fs/hfs/sysdep.c                       |   3 +-
 fs/jfs/namei.c                        |   3 +-
 fs/kernfs/dir.c                       |   3 +-
 fs/libfs.c                            | 124 +++++++++++++++++---------
 fs/namei.c                            |  18 ++--
 fs/nfs/dir.c                          |   9 +-
 fs/ocfs2/dcache.c                     |   4 +-
 fs/orangefs/dcache.c                  |   3 +-
 fs/overlayfs/super.c                  |  20 +++--
 fs/proc/base.c                        |   6 +-
 fs/proc/fd.c                          |   3 +-
 fs/proc/generic.c                     |   6 +-
 fs/proc/proc_sysctl.c                 |   3 +-
 fs/reiserfs/xattr.c                   |   3 +-
 fs/smb/client/dir.c                   |   3 +-
 fs/vboxsf/dir.c                       |   4 +-
 include/linux/dcache.h                |  10 ++-
 include/linux/fs.h                    |  21 +++++
 include/linux/fscrypt.h               |   4 +-
 36 files changed, 242 insertions(+), 148 deletions(-)

-- 
2.41.0



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-08-17  9:13 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-12  0:41 [f2fs-dev] [PATCH v5 00/10] Support negative dentries on case-insensitive ext4 and f2fs Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 01/10] fs: Expose helper to check if a directory needs casefolding Gabriel Krisman Bertazi
2023-08-12  1:59   ` Eric Biggers
2023-08-12 23:06     ` Theodore Ts'o
2023-08-13  0:12       ` Eric Biggers
2023-08-13  3:08       ` Matthew Wilcox
2023-08-13  4:30         ` Eric Biggers
2023-08-14 11:38           ` Theodore Ts'o
2023-08-14 17:22             ` Eric Biggers
2023-08-15  3:59               ` Theodore Ts'o
2023-08-14 15:02     ` Gabriel Krisman Bertazi
2023-08-14 19:14       ` Eric Biggers
2023-08-14 19:26         ` Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 02/10] ecryptfs: Reject casefold directory inodes Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 03/10] 9p: Split ->weak_revalidate from ->revalidate Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 04/10] fs: Expose name under lookup to d_revalidate hooks Gabriel Krisman Bertazi
2023-08-12  2:15   ` Eric Biggers
2023-08-17  7:00   ` kernel test robot
2023-08-17  9:12   ` kernel test robot
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 05/10] fs: Add DCACHE_CASEFOLDED_NAME flag Gabriel Krisman Bertazi
2023-08-12  2:17   ` Eric Biggers
2023-08-14 15:03     ` Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 06/10] libfs: Validate negative dentries in case-insensitive directories Gabriel Krisman Bertazi
2023-08-12  2:41   ` Eric Biggers
2023-08-14 14:50     ` Gabriel Krisman Bertazi
2023-08-14 18:42       ` Eric Biggers
2023-08-14 19:21         ` Gabriel Krisman Bertazi
2023-08-14 19:26           ` Eric Biggers
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 07/10] libfs: Chain encryption checks after case-insensitive revalidation Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 08/10] libfs: Merge encrypted_ci_dentry_ops and ci_dentry_ops Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 09/10] ext4: Enable negative dentries on case-insensitive lookup Gabriel Krisman Bertazi
2023-08-12  0:41 ` [f2fs-dev] [PATCH v5 10/10] f2fs: " Gabriel Krisman Bertazi

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).