All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] client-side support for "inter" SSC copy
@ 2018-10-24 19:58 Olga Kornievskaia
  2018-10-24 19:58 ` [PATCH v2 01/13] VFS permit cross device vfs_copy_file_range Olga Kornievskaia
                   ` (13 more replies)
  0 siblings, 14 replies; 54+ messages in thread
From: Olga Kornievskaia @ 2018-10-24 19:58 UTC (permalink / raw)
  To: trond.myklebust, anna.schumaker, viro, smfrench, miklos
  Cc: linux-nfs, linux-fsdevel, linux-cifs, linux-unionfs, linux-man

From: Olga Kornievskaia <kolga@netapp.com>

This patch series adds client-side support for doing NFSv4.2 "inter"
copy offload between different NFS servers.

In case of the "inter" SSC copy files reside on different servers and
thus under different superblocks and require that VFS removes the
restriction that src and dst files must be on the same superblock.

NFS's copy_file_range() determines if the copy is "intra" or "inter"
and for "inter" it sends the COPY_NOTIFY to the source server. Then,
it would send of an asynchronous COPY to the destination server. If
an application cancels an in-flight COPY, OFFLOAD_CANCEL is sent to
both of the servers.

This patch series also include necessary client-side additions that
are performed by the destination server. The server needs an NFS
open that represents a source file without doing an actual open.
Two function nfs42_ssc_open/nfs42_ssc_close() are introduced to
accomplish it that make use of the VFS's alloc_file_pseudo() to
represent an open.

Also this particular open is marked (NFS_SVC_SSC_COPY_STATE) so
that if the destination server ever to receive stateid errors on
this stateid, it knows not to initiate state recovery (in case
when source server reboots). The recovery must be done by the
client and a new copy must be initiated. Therefore, in this case
the recovery needs to fail with EIO.

v2:
-- VFS changes are to remove VFS check for same copy_file_range
functions before calling it. Instead add the appropriate checks
to the existing implementors of the copy_file_range.
-- Changed the check for the "intra" vs "inter" based on the
serverowner instead of the IPs and merged it with the 1st caller
patch
-- Addressed Anna's comments to ifdef the nfs42_copy_notify in
nfs42.h to make for proper compiling
-- Removed a leftover dprintk from the nfs42_ssc_open

Olga Kornievskaia (13):
  VFS permit cross device vfs_copy_file_range
  CIFS: add cross-device check for copy_file_range
  OverlayFS: add cross-device check for copy_file_range
  NFS: add cross file system check for copy_file_range
  VFS: Don't copy beyond the end of the file
  NFS NFSD defining nl4_servers structure needed by both
  NFS add COPY_NOTIFY operation
  NFS add ca_source_server<> to COPY
  NFS also send OFFLOAD_CANCEL to source server
  NFS inter ssc open
  NFS skip recovery of copy open on dest server
  NFS for "inter" copy treat ESTALE as ENOTSUPP
  NFS COPY handle ERR_OFFLOAD_DENIED

 Documentation/filesystems/porting |   7 ++
 Documentation/filesystems/vfs.txt |   6 +-
 fs/cifs/cifsfs.c                  |   2 +
 fs/nfs/nfs42.h                    |  15 ++-
 fs/nfs/nfs42proc.c                | 129 ++++++++++++++++++++++---
 fs/nfs/nfs42xdr.c                 | 193 +++++++++++++++++++++++++++++++++++++-
 fs/nfs/nfs4_fs.h                  |  10 ++
 fs/nfs/nfs4client.c               |   2 +-
 fs/nfs/nfs4file.c                 | 122 +++++++++++++++++++++++-
 fs/nfs/nfs4proc.c                 |   6 +-
 fs/nfs/nfs4state.c                |  14 +++
 fs/nfs/nfs4xdr.c                  |   1 +
 fs/overlayfs/file.c               |   3 +
 fs/read_write.c                   |  12 +--
 include/linux/nfs4.h              |  25 +++++
 include/linux/nfs_fs_sb.h         |   1 +
 include/linux/nfs_xdr.h           |  17 ++++
 17 files changed, 539 insertions(+), 26 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 54+ messages in thread
* [ebiggers:cryptobench 1/1] crypto/benchmark.c:616:1-3: WARNING: PTR_ERR_OR_ZERO can be used
@ 2020-08-27  1:41 kernel test robot
  2020-08-27  1:41 ` [PATCH] fix ptr_ret.cocci warnings kernel test robot
  0 siblings, 1 reply; 54+ messages in thread
From: kernel test robot @ 2020-08-27  1:41 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 773 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git cryptobench
head:   14f42ca5c1a289b166e7e162b45577adffc7a28f
commit: 14f42ca5c1a289b166e7e162b45577adffc7a28f [1/1] [TESTING, DO NOT MERGE] crypto - add benchmark and testing module
config: i386-randconfig-c001-20200826 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


coccinelle warnings: (new ones prefixed by >>)

>> crypto/benchmark.c:616:1-3: WARNING: PTR_ERR_OR_ZERO can be used

Please review and possibly fold the followup patch.

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36168 bytes --]

^ permalink raw reply	[flat|nested] 54+ messages in thread
* drivers/pci/controller/pcie-rockchip-host.c:628:1-3: WARNING: PTR_ERR_OR_ZERO can be used
@ 2019-12-21  1:18 kbuild test robot
  2019-12-21  1:18   ` kbuild test robot
  0 siblings, 1 reply; 54+ messages in thread
From: kbuild test robot @ 2019-12-21  1:18 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 716 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b371ddb94fae82b6565020639b7db31934043c65
commit: 069ade5dfec93dd2916a85df8b1bab2d578857bd Merge branch 'remotes/lorenzo/pci/rockchip'
date:   3 weeks ago

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>


coccinelle warnings: (new ones prefixed by >>)

>> drivers/pci/controller/pcie-rockchip-host.c:628:1-3: WARNING: PTR_ERR_OR_ZERO can be used

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

^ permalink raw reply	[flat|nested] 54+ messages in thread
* [wsa:renesas/i2c/new_dummy 5/5] drivers/i2c/busses/i2c-nvidia-gpu.c:284:1-3: WARNING: PTR_ERR_OR_ZERO can be used
@ 2019-10-09 11:32 kbuild test robot
  2019-10-09 11:32 ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
  0 siblings, 1 reply; 54+ messages in thread
From: kbuild test robot @ 2019-10-09 11:32 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 661 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/i2c/new_dummy
head:   b401cd1e73e824b8e1231b97c36b7fa21017b669
commit: b401cd1e73e824b8e1231b97c36b7fa21017b669 [5/5] plain

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>


coccinelle warnings: (new ones prefixed by >>)

>> drivers/i2c/busses/i2c-nvidia-gpu.c:284:1-3: WARNING: PTR_ERR_OR_ZERO can be used

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 54+ messages in thread
* [PATCH] fix ptr_ret.cocci warnings
@ 2017-05-15 10:52 Julia Lawall
  2017-05-15 10:56 ` Stephan Müller
  0 siblings, 1 reply; 54+ messages in thread
From: Julia Lawall @ 2017-05-15 10:52 UTC (permalink / raw)
  To: Stephan Müller
  Cc: linux-kernel, linux-crypto, Jason A. Donenfeld, kbuild-all

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR

Generated by: scripts/coccinelle/api/ptr_ret.cocci

CC: Stephan Müller <smueller@chronox.de>
Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---

Not very important, but the code can be a little simpler.

 lrng_base.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

--- a/drivers/char/lrng_base.c
+++ b/drivers/char/lrng_base.c
@@ -1523,10 +1523,7 @@ static int lrng_alloc(void)
 	lrng_init_rng(key, sizeof(key));
 	lrng_pool.lrng_hash = lrng_hash_alloc(LRNG_HASH_NAME, key, sizeof(key));
 	memzero_explicit(key, sizeof(key));
-	if (IS_ERR(lrng_pool.lrng_hash))
-		return PTR_ERR(lrng_pool.lrng_hash);
-
-	return 0;
+	return PTR_ERR_OR_ZERO(lrng_pool.lrng_hash);
 }

 /************************** LRNG kernel interfaces ***************************/

^ permalink raw reply	[flat|nested] 54+ messages in thread
* Re: [PATCH v8 3/3] backlight arcxcnn add support for ArcticSand devices
  2017-03-15 19:45 ` Olimpiu Dejeu
@ 2017-03-17 14:48 kbuild test robot
  2017-03-15 19:45 ` Olimpiu Dejeu
       [not found] ` <1489607133-7870-3-git-send-email-olimpiu-eV7fy4qpoLhpLGFMi4vTTA@public.gmane.org>
  -1 siblings, 2 replies; 54+ messages in thread
From: kbuild test robot @ 2017-03-17 14:48 UTC (permalink / raw)
  To: linux-fbdev

Hi Olimpiu,

[auto build test WARNING on robh/for-next]
[also build test WARNING on v4.11-rc2 next-20170310]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Olimpiu-Dejeu/backlight-arcxcnn-add-arc-to-vendor-prefix/20170317-205447
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next


coccinelle warnings: (new ones prefixed by >>)

>> drivers/video/backlight/arcxcnn_bl.c:183:1-3: WARNING: PTR_ERR_OR_ZERO can be used

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 54+ messages in thread
* [nfs:testing 41/50] fs/nfs/nfs42proc.c:191:1-3: WARNING: PTR_ERR_OR_ZERO can be used
@ 2015-06-24 15:00 kbuild test robot
  2015-06-24 15:00 ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
  0 siblings, 1 reply; 54+ messages in thread
From: kbuild test robot @ 2015-06-24 15:00 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: kbuild-all, Jeff Layton, Peng Tao, linux-nfs

tree:   git://git.linux-nfs.org/projects/trondmy/linux-nfs.git testing
head:   f890ffcf683f2bf8d90f2a4918041f8988ccfbbe
commit: be3a5d233922d73f27002ce2767f6ec03c3f473d [41/50] NFSv.2/pnfs Add a LAYOUTSTATS rpc function


coccinelle warnings: (new ones prefixed by >>)

>> fs/nfs/nfs42proc.c:191:1-3: WARNING: PTR_ERR_OR_ZERO can be used

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2020-08-27  1:41 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-24 19:58 [PATCH v2 00/13] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 01/13] VFS permit cross device vfs_copy_file_range Olga Kornievskaia
2018-10-25  4:34   ` Amir Goldstein
2018-10-24 19:58 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia
2018-10-25  4:28   ` Amir Goldstein
2018-10-25 15:26     ` Olga Kornievskaia
2018-10-25 17:24     ` Matthew Wilcox
2018-10-25 17:47       ` Olga Kornievskaia
2018-10-25 18:08         ` Matthew Wilcox
2018-10-25 18:14           ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 02/13] CIFS: add cross-device check for copy_file_range Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 03/13] OverlayFS: " Olga Kornievskaia
2018-10-25  5:54   ` Amir Goldstein
2018-10-25 15:31     ` Olga Kornievskaia
2018-10-26 12:12     ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 04/13] NFS: add cross file system " Olga Kornievskaia
2018-10-25  4:38   ` Amir Goldstein
2018-10-25 15:28     ` Olga Kornievskaia
2018-10-25 16:54       ` Amir Goldstein
2018-10-25 17:12         ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 05/13] VFS: Don't copy beyond the end of the file Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 06/13] NFS NFSD defining nl4_servers structure needed by both Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 07/13] NFS add COPY_NOTIFY operation Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 08/13] NFS add ca_source_server<> to COPY Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 09/13] NFS also send OFFLOAD_CANCEL to source server Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 10/13] NFS inter ssc open Olga Kornievskaia
2018-10-25  1:31   ` kbuild test robot
2018-10-25  1:31   ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
2018-10-24 19:58 ` [PATCH v2 11/13] NFS skip recovery of copy open on dest server Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 12/13] NFS for "inter" copy treat ESTALE as ENOTSUPP Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 13/13] NFS COPY handle ERR_OFFLOAD_DENIED Olga Kornievskaia
  -- strict thread matches above, loose matches on Subject: below --
2020-08-27  1:41 [ebiggers:cryptobench 1/1] crypto/benchmark.c:616:1-3: WARNING: PTR_ERR_OR_ZERO can be used kernel test robot
2020-08-27  1:41 ` [PATCH] fix ptr_ret.cocci warnings kernel test robot
2019-12-21  1:18 drivers/pci/controller/pcie-rockchip-host.c:628:1-3: WARNING: PTR_ERR_OR_ZERO can be used kbuild test robot
2019-12-21  1:18 ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
2019-12-21  1:18   ` kbuild test robot
2019-12-21  1:18   ` kbuild test robot
2019-10-09 11:32 [wsa:renesas/i2c/new_dummy 5/5] drivers/i2c/busses/i2c-nvidia-gpu.c:284:1-3: WARNING: PTR_ERR_OR_ZERO can be used kbuild test robot
2019-10-09 11:32 ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
2017-05-15 10:52 Julia Lawall
2017-05-15 10:56 ` Stephan Müller
2017-03-17 14:48 [PATCH v8 3/3] backlight arcxcnn add support for ArcticSand devices kbuild test robot
2017-03-15 19:45 ` Olimpiu Dejeu
     [not found] ` <1489607133-7870-3-git-send-email-olimpiu-eV7fy4qpoLhpLGFMi4vTTA@public.gmane.org>
2017-03-17 14:48   ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
2017-03-17 14:48     ` kbuild test robot
2017-03-17 14:48     ` kbuild test robot
     [not found]     ` <20170317144809.GA103304-zqhkPGYYkloFTpe94t1N+dh3ngVCH38I@public.gmane.org>
2017-03-21 14:58       ` Olimpiu Dejeu
2017-03-21 14:58         ` Olimpiu Dejeu
2017-03-21 14:58         ` Olimpiu Dejeu
     [not found]         ` <CAF-XLWL6KODEkqjN58abz2ieywgZ0BO5enHQJ2jSD5WpX+NSaQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-21 15:07           ` Daniel Thompson
2017-03-21 15:07             ` Daniel Thompson
2017-03-21 15:07             ` Daniel Thompson
2017-04-17 12:57             ` Olimpiu Dejeu
     [not found]               ` <CAF-XLWL_w3OqafbLzcM=kOkS1nPb0VSCAyDaudQh2UwE4Gw0gg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-24 10:57                 ` Lee Jones
2017-04-24 10:57                   ` Lee Jones
2017-04-24 10:57                   ` Lee Jones
2017-04-24 11:26                   ` Daniel Thompson
2017-04-24 11:26                     ` Daniel Thompson
2015-06-24 15:00 [nfs:testing 41/50] fs/nfs/nfs42proc.c:191:1-3: WARNING: PTR_ERR_OR_ZERO can be used kbuild test robot
2015-06-24 15:00 ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.