[PATCH 0/2] Decomplicate file_dentry()

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



When posting the patches for file_user_path(), I wrote [1]:

"This change already makes file_dentry() moot, but for now we did not
 change this helper just added a WARN_ON() in ovl_d_real() to catch if we
 have made any wrong assumptions.

 After the dust settles on this change, we can make file_dentry() a plain
 accessor and we can drop the inode argument to ->d_real()."

I was going to follow your suggestion and make this change to ->d_real(),
but a recent discussion on EVM signature verification on overlay files [2]
raised the need to get the real metacopy inode instead of the real data

So instead of removing the inode argument, I replaced it with a type.
Currently, type can take D_REAL_{DATA,METADATA}, but in the future,
if the need arises, it could grow other types like D_REAL_{UPPER,LOWER}.

Please let me know what you think of the proposed API.

This work is destined to be a pull request to Christian's vfs tree,
unless someone has any objections to this route.


[1] https://lore.kernel.org/r/20231009153712.1566422-1-amir73il@xxxxxxxxx/
[2] https://lore.kernel.org/r/20240130214620.3155380-5-stefanb@xxxxxxxxxxxxx/

Amir Goldstein (2):
  fs: make file_dentry() a simple accessor
  fs: remove the inode argument to ->d_real() method

 Documentation/filesystems/locking.rst |  2 +-
 Documentation/filesystems/vfs.rst     | 16 ++++-----
 fs/overlayfs/super.c                  | 52 ++++++++++++---------------
 include/linux/dcache.h                | 18 ++++++----
 include/linux/fs.h                    | 13 ++++++-
 5 files changed, 53 insertions(+), 48 deletions(-)


[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux