Skip to content
Snippets Groups Projects
  1. Dec 11, 2020
    • Hanna Reitz's avatar
      fuse: Implement hole detection through lseek · df4ea709
      Hanna Reitz authored
      
      This is a relatively new feature in libfuse (available since 3.8.0,
      which was released in November 2019), so we have to add a dedicated
      check whether it is available before making use of it.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20201027190600.192171-7-mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      df4ea709
    • Hanna Reitz's avatar
      fuse: (Partially) implement fallocate() · 4ca37a96
      Hanna Reitz authored
      
      This allows allocating areas after the (old) EOF as part of a growing
      resize, writing zeroes, and discarding.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20201027190600.192171-6-mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      4ca37a96
    • Hanna Reitz's avatar
      fuse: Allow growable exports · 4fba06d5
      Hanna Reitz authored
      
      These will behave more like normal files in that writes beyond the EOF
      will automatically grow the export size.
      
      As an optimization, keep the RESIZE permission for growable exports so
      we do not have to take it for every post-EOF write.  (This permission is
      not released when the export is destroyed, because at that point the
      BlockBackend is destroyed altogether anyway.)
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20201027190600.192171-5-mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      4fba06d5
    • Hanna Reitz's avatar
      fuse: Implement standard FUSE operations · 41429e3d
      Hanna Reitz authored
      
      This makes the export actually useful instead of only producing errors
      whenever it is accessed.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20201027190600.192171-4-mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      41429e3d
    • Hanna Reitz's avatar
      fuse: Allow exporting BDSs via FUSE · 0c9b70d5
      Hanna Reitz authored
      
      block-export-add type=fuse allows mounting block graph nodes via FUSE on
      some existing regular file.  That file should then appears like a raw
      disk image, and accesses to it result in accesses to the exported BDS.
      
      Right now, we only implement the necessary block export functions to set
      it up and shut it down.  We do not implement any access functions, so
      accessing the mount point only results in errors.  This will be
      addressed by a followup patch.
      
      We keep a hash table of exported mount points, because we want to be
      able to detect when users try to use a mount point twice.  This is
      because we invoke stat() to check whether the given mount point is a
      regular file, but if that file is served by ourselves (because it is
      already used as a mount point), then this stat() would have to be served
      by ourselves, too, which is impossible to do while we (as the caller)
      are waiting for it to settle.  Therefore, keep track of mount point
      paths to at least catch the most obvious instances of that problem.
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20201027190600.192171-3-mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      0c9b70d5
  2. Dec 09, 2020
  3. Dec 08, 2020
  4. Nov 12, 2020
  5. Nov 03, 2020
  6. Oct 23, 2020
  7. Oct 02, 2020
Loading