On 26/10/16 05:16PM, Miklos Szeredi wrote:
> This is the FUSIfication of the famfs-fuse patchset.
> 
>  - extent maps are assigned to a backing ID
> 
>  - 64 bit backing ID's managed by server
> 
>  - maps can be linear or cyclic (striped)
> 
>  - API supports nesting, but not implemented yet (i.e. multiple striped
>    extents per inode, a-la famfs)
> 
> libfuse/famfs trees for testing:
> 
>  https://github.com/szmi/libfuse.git#extent-map-v3
>  https://github.com/jagalactic/famfs.git#master
> 
> This patchset:
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#for-next
> 
> Passes famfs smoke test on emulated dax device.
> 
> Comments are welcome.
> 
> Thanks,
> Miklos
> 
> ---
> Changes since v4:
> 
>  - extent array (John)
>  - error out on truncate/hole punch on a dax backed file (Sashiko)
>  - small fix (Sashiko)
> 
> Changes since v3:
> 
>  - redid the first patch (prompted by sashiko: passing dev_t is racy)
>  - more fixes (John, Amir Sashiko)
> 
> Changes since v2:
> 
>  - add a trivial prep patch modifying drivers/dax/super.c
>  - reserve zero value for 64 bit backing ID (Amir)
>  - add Originally-by: tag to acknowledge John's work
>  - more fixes and cleanups (Amir, Sashiko)
> 
> Changes since v1:
> 
>  - moved 3 prep patches to fuse.git#for-next
>  - introduce FUSE_PASSTHROUGH_V2 (Amir)
>  - lots of small fixes and cleanups (Amir, Sashiko)
> 
> ---
> John Groves (2):
>   dax: add fsdev_dax_from_file()
>   fuse: resolve extent maps in O(1) when possible
> 
> Miklos Szeredi (8):
>   dax: use READ_ONCE() in dax_holder()
>   fuse: add helpers for EIO return value with kernel message
>   fuse: support 64 bit, server allocated backing ID
>   fuse: support opening 64 bit backing ID
>   fuse: add support for opening dax device as backing
>   fuse: add extent map data structure
>   fuse: add extent map I/O support
>   fuse: add support for striped backing
> 
>  drivers/dax/fsdev.c       |  23 +++
>  drivers/dax/super.c       |   5 +-
>  fs/file.c                 |   1 +
>  fs/fuse/Makefile          |   2 +-
>  fs/fuse/backing.c         | 302 ++++++++++++++++++++++++------
>  fs/fuse/dev.c             |  54 ++++--
>  fs/fuse/dev.h             |   3 +
>  fs/fuse/dir.c             |   6 +-
>  fs/fuse/ext_map.c         | 376 ++++++++++++++++++++++++++++++++++++++
>  fs/fuse/file.c            |  33 +++-
>  fs/fuse/fuse_i.h          |  79 +++++++-
>  fs/fuse/inode.c           |  25 ++-
>  fs/fuse/iomode.c          | 116 ++++++------
>  fs/fuse/notify.c          |  75 ++++++++
>  fs/fuse/passthrough.c     |  66 +++----
>  include/linux/dax.h       |   3 +-
>  include/uapi/linux/fuse.h |  53 +++++-
>  17 files changed, 1044 insertions(+), 178 deletions(-)
>  create mode 100644 fs/fuse/ext_map.c
> 
> -- 
> 2.54.0
> 

For the series:

Reviewed-by: John Groves <[email protected]>
Tested-by: John Groves <[email protected]>



Reply via email to