Re: [PATCH v2 00/13] Overlayfs lazy lookup of lowerdata

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

 



On Thu, Apr 27, 2023 at 4:05 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> Miklos,
>
> This v2 combines the prep patch set [1] and lazy lookup patch set [2].
>
> This work is motivated by Alexander's composefs use case.
> Alexander has been developing and testing his fsverity patches over
> my lazy-lowerdata-lookup branch [3].

FYI, I rebased this branch on top of v6.4-rc2 and on top
of branch ovl-fixes with the NULL pointer defer fix patches
from Zhihao Cheng:

https://lore.kernel.org/linux-unionfs/20230516141619.2160800-1-chengzhihao1@xxxxxxxxxx/

Thanks,
Amir.

>
> Alexander has also written tests for lazy lowerdata lookup [4].
>
> Note that patch #1 is a Fixes patch for stable.
> Gao commented that the fix may not be complete, but I think it is better
> than no fix at all.
>
> Regarding lazy lookup in d_real(), I am not sure if the best effort
> lookup is the best solution, but in any case, none of this code kicks in
> without explicit opt-in to data-only layers, so the risk of breaking
> existing setups is quite low.
>
> Thanks,
> Amir.
>
> Changes since v1:
> - Include the prep patch set
> - Split remove lowerdata from add lowerdata_redirect patch
> - Remove embedded ovl_entry stack optimization
> - Add lazy lookup and comment in d_real_inode()
> - Improve documentation of :: data-only layers syntax
> - Added RVBs
>
> [1] https://lore.kernel.org/linux-unionfs/20230408164302.1392694-1-amir73il@xxxxxxxxx/
> [2] https://lore.kernel.org/linux-unionfs/20230412135412.1684197-1-amir73il@xxxxxxxxx/
> [3] https://github.com/amir73il/linux/commits/ovl-lazy-lowerdata
> [4] https://github.com/amir73il/xfstests/commits/ovl-lazy-lowerdata
>
> Amir Goldstein (13):
>   ovl: update of dentry revalidate flags after copy up
>   ovl: use OVL_E() and OVL_E_FLAGS() accessors
>   ovl: use ovl_numlower() and ovl_lowerstack() accessors
>   ovl: factor out ovl_free_entry() and ovl_stack_*() helpers
>   ovl: move ovl_entry into ovl_inode
>   ovl: deduplicate lowerpath and lowerstack[]
>   ovl: deduplicate lowerdata and lowerstack[]
>   ovl: remove unneeded goto instructions
>   ovl: introduce data-only lower layers
>   ovl: implement lookup in data-only layers
>   ovl: prepare to store lowerdata redirect for lazy lowerdata lookup
>   ovl: prepare for lazy lookup of lowerdata inode
>   ovl: implement lazy lookup of lowerdata in data-only layers
>
>  Documentation/filesystems/overlayfs.rst |  36 +++++
>  fs/overlayfs/copy_up.c                  |  11 ++
>  fs/overlayfs/dir.c                      |   3 +-
>  fs/overlayfs/export.c                   |  41 +++---
>  fs/overlayfs/file.c                     |  21 ++-
>  fs/overlayfs/inode.c                    |  38 +++--
>  fs/overlayfs/namei.c                    | 185 +++++++++++++++++++-----
>  fs/overlayfs/overlayfs.h                |  20 ++-
>  fs/overlayfs/ovl_entry.h                |  73 ++++++++--
>  fs/overlayfs/super.c                    | 132 ++++++++++-------
>  fs/overlayfs/util.c                     | 165 ++++++++++++++++-----
>  11 files changed, 534 insertions(+), 191 deletions(-)
>
> --
> 2.34.1
>




[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