Skip to content

Don't require mount setup for etag/mtime propagation. #57350

@icewind1991

Description

@icewind1991

To propagate etag and mtimes across storages, the filesystem code will load the mounts that are nested inside a folder (any depth) and use those mounts to calculate the etag/mtime of a folder.

Because of this, there are cases where we're doing a lot of work to setup the various mounts, to then only use them to fetch the root metadata.

Since the oc_mounts table records the fileid of the root of the mounts, we could instead use that to collect the fileid of the nested mounts we need, and fetch the data directly from the filecache, without having to setup the actual mounts.

Some considerations:

  • When listing a directory, we need to ensure we only do this logic once for all relevant folders at once, not for every sub-folder individually.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions