Skip to content

Add Quota Support to VFS Driver #34702

@sargun

Description

@sargun

Description
Before I go about implementing anything, I'd like to get some folks opinion on how to implement VFS Driver improvements. The following two issues frustrate me:

  1. The VFS driver does not support filesystem quota
  2. The VFS driver does a naive copy, which doesn't take advantage of techniques like zero-copy, and reflinks.

As a solution, I propose the following:

  • We adopt the techniques that I've added to the overlay driver in Use In-kernel File Copy for Overlayfs and VFS on Linux #34670. This gracefully degrades, and allows the user to take advantage of reflinks (FICLONE), zerocopy (copy_file_range / splice), and then only falls back to a naive copy. Although there is still an O(N) cost for layer setup in the ideal case, N for the number of files is likely not a great number. Naive tests show that copying ubuntu:latest using these techniques can be done in 600 milliseconds.
  • We adopt the projectquota code, after the improvements laid out in Proposal: Project Quota Enhancements #34701

Agree? Disagree?
CC: @cpuguy83 @dmcgowan

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/storageImage Storagekind/featureFunctionality or other elements that the project doesn't currently have. Features are new and shiny

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions