1. 23 12月, 2016 1 次提交
  2. 16 12月, 2016 4 次提交
  3. 10 12月, 2016 2 次提交
    • D
      vfs: refactor clone/dedupe_file_range common functions · 876bec6f
      Darrick J. Wong 提交于
      Hoist both the XFS reflink inode state and preparation code and the XFS
      file blocks compare functions into the VFS so that ocfs2 can take
      advantage of it for reflink and dedupe.
      Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
      876bec6f
    • C
      fs: try to clone files first in vfs_copy_file_range · a76b5b04
      Christoph Hellwig 提交于
      A clone is a perfectly fine implementation of a file copy, so most
      file systems just implement the copy that way.  Instead of duplicating
      this logic move it to the VFS.  Currently btrfs and XFS implement copies
      the same way as clones and there is no behavior change for them, cifs
      only implements clones and grow support for copy_file_range with this
      patch.  NFS implements both, so this will allow copy_file_range to work
      on servers that only implement CLONE and be lot more efficient on servers
      that implements CLONE and COPY.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      a76b5b04
  4. 15 10月, 2016 1 次提交
  5. 15 7月, 2016 1 次提交
    • H
      x86/syscalls: Add compat_sys_preadv64v2/compat_sys_pwritev64v2 · 3ebfd81f
      H.J. Lu 提交于
      Don't use the same syscall numbers for 2 different syscalls:
      
       534	x32	preadv			compat_sys_preadv64
       535	x32	pwritev			compat_sys_pwritev64
       534	x32	preadv2			compat_sys_preadv2
       535	x32	pwritev2		compat_sys_pwritev2
      
      Add compat_sys_preadv64v2() and compat_sys_pwritev64v2() so that 64-bit offset
      is passed in one 64-bit register on x32, similar to compat_sys_preadv64()
      and compat_sys_pwritev64().
      Signed-off-by: NH.J. Lu <hjl.tools@gmail.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/CAMe9rOovCMf-RQfx_n1U_Tu_DX1BYkjtFr%3DQ4-_PFVSj9BCzUA@mail.gmail.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      3ebfd81f
  6. 03 5月, 2016 1 次提交
  7. 02 5月, 2016 1 次提交
  8. 04 4月, 2016 1 次提交
  9. 05 3月, 2016 3 次提交
  10. 28 2月, 2016 1 次提交
  11. 20 2月, 2016 1 次提交
  12. 23 1月, 2016 2 次提交
  13. 01 1月, 2016 2 次提交
  14. 23 12月, 2015 1 次提交
  15. 08 12月, 2015 2 次提交
    • C
      vfs: pull btrfs clone API to vfs layer · 04b38d60
      Christoph Hellwig 提交于
      The btrfs clone ioctls are now adopted by other file systems, with NFS
      and CIFS already having support for them, and XFS being under active
      development.  To avoid growth of various slightly incompatible
      implementations, add one to the VFS.  Note that clones are different from
      file copies in several ways:
      
       - they are atomic vs other writers
       - they support whole file clones
       - they support 64-bit legth clones
       - they do not allow partial success (aka short writes)
       - clones are expected to be a fast metadata operation
      
      Because of that it would be rather cumbersome to try to piggyback them on
      top of the recent clone_file_range infrastructure.  The converse isn't
      true and the clone_file_range system call could try clone file range as
      a first attempt to copy, something that further patches will enable.
      
      Based on earlier work from Peng Tao.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      04b38d60
    • C
      locks: new locks_mandatory_area calling convention · acc15575
      Christoph Hellwig 提交于
      Pass a loff_t end for the last byte instead of the 32-bit count
      parameter to allow full file clones even on 32-bit architectures.
      While we're at it also simplify the read/write selection.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: NJ. Bruce Fields <bfields@fieldses.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      acc15575
  16. 02 12月, 2015 2 次提交
    • A
      vfs: Add vfs_copy_file_range() support for pagecache copies · eac70053
      Anna Schumaker 提交于
      This allows us to have an in-kernel copy mechanism that avoids frequent
      switches between kernel and user space.  This is especially useful so
      NFSD can support server-side copies.
      
      The default (flags=0) means to first attempt copy acceleration, but use
      the pagecache if that fails.
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
      Reviewed-by: NPadraig Brady <P@draigBrady.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      eac70053
    • Z
      vfs: add copy_file_range syscall and vfs helper · 29732938
      Zach Brown 提交于
      Add a copy_file_range() system call for offloading copies between
      regular files.
      
      This gives an interface to underlying layers of the storage stack which
      can copy without reading and writing all the data.  There are a few
      candidates that should support copy offloading in the nearer term:
      
      - btrfs shares extent references with its clone ioctl
      - NFS has patches to add a COPY command which copies on the server
      - SCSI has a family of XCOPY commands which copy in the device
      
      This system call avoids the complexity of also accelerating the creation
      of the destination file by operating on an existing destination file
      descriptor, not a path.
      
      Currently the high level vfs entry point limits copy offloading to files
      on the same mount and super (and not in the same file).  This can be
      relaxed if we get implementations which can copy between file systems
      safely.
      Signed-off-by: NZach Brown <zab@redhat.com>
      [Anna Schumaker: Change -EINVAL to -EBADF during file verification,
                       Change flags parameter from int to unsigned int,
                       Add function to include/linux/syscalls.h,
                       Check copy len after file open mode,
                       Don't forbid ranges inside the same file,
                       Use rw_verify_area() to veriy ranges,
                       Use file_out rather than file_in,
                       Add COPY_FR_REFLINK flag]
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      29732938
  17. 12 4月, 2015 8 次提交
  18. 26 3月, 2015 1 次提交
  19. 14 3月, 2015 1 次提交
  20. 13 3月, 2015 1 次提交
  21. 29 1月, 2015 1 次提交
  22. 17 1月, 2015 1 次提交
  23. 18 11月, 2014 1 次提交