Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailing-List: linux-nfs@vger.kernel.org
List-Id: <linux-nfs.vger.kernel.org>
List-Subscribe: <mailto:linux-nfs+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-nfs+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
From: "NeilBrown" <neilb@suse.de>
To: "Jeff Layton" <jlayton@kernel.org>
Cc: "Chuck Lever" <chuck.lever@oracle.com>, linux-nfs@vger.kernel.org,
 "Olga Kornievskaia" <kolga@netapp.com>, "Dai Ngo" <Dai.Ngo@oracle.com>,
 "Tom Talpey" <tom@talpey.com>, "Mike Snitzer" <snitzer@kernel.org>
Subject: Re: [PATCH 6/6] nfsd: add nfsd_file_acquire_local().
In-reply-to: <a97c04d1166243f758ad5e3f2cc267aa9360b3f8.camel@kernel.org>
References: <>, <a97c04d1166243f758ad5e3f2cc267aa9360b3f8.camel@kernel.org>
Date: Tue, 02 Jul 2024 09:55:52 +1000
Message-id: <171987815216.16071.11700950008759904924@noble.neil.brown.name>
Xref: photonic.trudheim.com org.kernel.vger.linux-nfs:86465
Newsgroups: org.kernel.vger.linux-nfs
Path: photonic.trudheim.com!nntp.lore.kernel.org!not-for-mail

On Mon, 01 Jul 2024, Jeff Layton wrote:
> 
> Neil, in an earlier email you mentioned that the client could hold onto
> the nfsd_file reference over several operations and then put it. That
> would be fine too, but I'm unclear on how the client will manage this.
> Does the client have a way to keep track of the nfsd_file over several
> operations to the same inode?

Looking at 
   [PATCH v10 13/19] nfs: add "localio" support

you can see that 
   struct file *local_filp;
is added to "struct nfs_open_context".  An nfs_open_context is stored
in file->private_data and is attached to the inode via nfsi->open_files.
It holds the nfs state for any file open on the NFS filesystem..

->local_filp is set the first time nfs_local_file_open_cache() is called
and remains set until the final __put_nfs_open_context() call destroys
the context.  So it lasts as long as the NFS file is open.  Note that
only one successful ->nfsd_open_local_fh() call is made for each opened
NFS file.  All IO then uses the "struct file*" with no further reference
to nfsd.

If we stored an nfsd_file in the nfs_open_context, either as well as
the 'struct file*' or instead of, then we could call nfsd_file_put()
when the nfs file is closed.  That seems to be the correct lifetime and
matches (almost) exactly what happens with NFSv4 where OPEN and CLOSE
are send over the wire.

> 
> Even then, I still think we're probably better off just garbage
> collecting thse, since it seems likely that they will end up being
> reused in many cases.

Why does this logic apply to localio, but not to normal NFSv4 access?

NeilBrown

.

From: Chuck Lever III <chuck.lever@oracle.com>
To: Anna Schumaker <anna@kernel.org>,
        Trond Myklebust
	<trondmy@hammerspace.com>
CC: Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Fwd: [PATCH net v2] net, sunrpc: Remap EPERM in case of connection
 failure in xs_tcp_setup_socket
Date: Tue, 2 Jul 2024 12:56:22 +0000
Message-ID: <96E88543-F7C3-4CD9-B3EF-CBF25D76B500@oracle.com>
References: <39757894-2C57-4DD6-AF93-25EA35C87C3D@oracle.com>
Accept-Language: en-US
Content-Language: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
X-Mailing-List: linux-nfs@vger.kernel.org
List-Id: <linux-nfs.vger.kernel.org>
List-Subscribe: <mailto:linux-nfs+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-nfs+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Xref: photonic.trudheim.com org.kernel.vger.linux-nfs:86474
Newsgroups: org.kernel.vger.linux-nfs
Path: photonic.trudheim.com!nntp.lore.kernel.org!not-for-mail

DQoNCj4gQmVnaW4gZm9yd2FyZGVkIG1lc3NhZ2U6DQo+IA0KPiBGcm9tOiBDaHVjayBMZXZlciA8
Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCBuZXQgdjJdIG5l
dCwgc3VucnBjOiBSZW1hcCBFUEVSTSBpbiBjYXNlIG9mIGNvbm5lY3Rpb24gZmFpbHVyZSBpbiB4
c190Y3Bfc2V0dXBfc29ja2V0DQo+IERhdGU6IEp1bHkgMSwgMjAyNCBhdCAxMDowNDoxMeKAr0FN
IEVEVA0KPiBUbzogU2ltb24gSG9ybWFuIDxob3Jtc0BrZXJuZWwub3JnPg0KPiBDYzogRGFuaWVs
IEJvcmttYW5uIDxkYW5pZWxAaW9nZWFyYm94Lm5ldD4sIEpha3ViIEtpY2luc2tpIDxrdWJhQGtl
cm5lbC5vcmc+LCBOZWlsIEJyb3duIDxuZWlsYkBzdXNlLmRlPiwgSmVmZiBMYXl0b24gPGpsYXl0
b25Aa2VybmVsLm9yZz4sIE9sZ2EgS29ybmlldnNrYWlhIDxrb2xnYUBuZXRhcHAuY29tPiwgRGFp
Lk5nb0BvcmFjbGUuY29tLCBUb20gVGFscGV5IDx0b21AdGFscGV5LmNvbT4sIG5ldGRldiA8bmV0
ZGV2QHZnZXIua2VybmVsLm9yZz4sIGJwZkB2Z2VyLmtlcm5lbC5vcmcsIExleCBTaWVnZWwgPHVz
aWVnbDAwQGdtYWlsLmNvbT4NCj4gDQo+IA0KPiANCj4+IE9uIEp1bCAxLCAyMDI0LCBhdCA2OjU3
4oCvQU0sIFNpbW9uIEhvcm1hbiA8aG9ybXNAa2VybmVsLm9yZz4gd3JvdGU6DQo+PiANCj4+IE9u
IEZyaSwgSnVuIDI4LCAyMDI0IGF0IDAxOjE5OjQ5UE0gLTA0MDAsIENodWNrIExldmVyIHdyb3Rl
Og0KPj4+IE9uIEZyaSwgSnVuIDI4LCAyMDI0IGF0IDA2OjMxOjIzUE0gKzAyMDAsIERhbmllbCBC
b3JrbWFubiB3cm90ZToNCj4+Pj4gV2hlbiB1c2luZyBhIEJQRiBwcm9ncmFtIG9uIGtlcm5lbF9j
b25uZWN0KCksIHRoZSBjYWxsIGNhbiByZXR1cm4gLUVQRVJNLiBUaGlzDQo+Pj4+IGNhdXNlcyB4
c190Y3Bfc2V0dXBfc29ja2V0KCkgdG8gbG9vcCBmb3JldmVyLCBmaWxsaW5nIHVwIHRoZSBzeXNs
b2cgYW5kIGNhdXNpbmcNCj4+Pj4gdGhlIGtlcm5lbCB0byBwb3RlbnRpYWxseSBmcmVlemUgdXAu
DQo+Pj4+IA0KPj4+PiBOZWlsIHN1Z2dlc3RlZDoNCj4+Pj4gDQo+Pj4+IFRoaXMgd2lsbCBwcm9w
YWdhdGUgLUVQRVJNIHVwIGludG8gb3RoZXIgbGF5ZXJzIHdoaWNoIG1pZ2h0IG5vdCBiZSByZWFk
eQ0KPj4+PiB0byBoYW5kbGUgaXQuIEl0IG1pZ2h0IGJlIHNhZmVyIHRvIG1hcCBFUEVSTSB0byBh
biBlcnJvciB3ZSB3b3VsZCBiZSBtb3JlDQo+Pj4+IGxpa2VseSB0byBleHBlY3QgZnJvbSB0aGUg
bmV0d29yayBzeXN0ZW0gLSBzdWNoIGFzIEVDT05OUkVGVVNFRCBvciBFTkVURE9XTi4NCj4+Pj4g
DQo+Pj4+IEVDT05OUkVGVVNFRCBhcyBlcnJvciBzZWVtcyByZWFzb25hYmxlLiBGb3IgcHJvZ3Jh
bXMgc2V0dGluZyBhIGRpZmZlcmVudCBlcnJvcg0KPj4+PiBjYW4gYmUgb3V0IG9mIHJlYWNoIChz
ZWUgaGFuZGxpbmcgaW4gNGZiYWM3N2QyZDA5KSBpbiBwYXJ0aWN1bGFyIG9uIGtlcm5lbHMNCj4+
Pj4gd2hpY2ggZG8gbm90IGhhdmUgZjEwZDA1OTY2MTk2ICgiYnBmOiBNYWtlIEJQRl9QUk9HX1JV
Tl9BUlJBWSByZXR1cm4gLWVycg0KPj4+PiBpbnN0ZWFkIG9mIGFsbG93IGJvb2xlYW4iKSwgdGh1
cyBnaXZlbiB0aGF0IGl0IGlzIGJldHRlciB0byBzaW1wbHkgcmVtYXAgZm9yDQo+Pj4+IGNvbnNp
c3RlbnQgYmVoYXZpb3IuIFVEUCBkb2VzIGhhbmRsZSBFUEVSTSBpbiB4c191ZHBfc2VuZF9yZXF1
ZXN0KCkuDQo+Pj4+IA0KPj4+PiBGaXhlczogZDc0YmFkNGU3NGVlICgiYnBmOiBIb29rcyBmb3Ig
c3lzX2Nvbm5lY3QiKQ0KPj4+PiBGaXhlczogNGZiYWM3N2QyZDA5ICgiYnBmOiBIb29rcyBmb3Ig
c3lzX2JpbmQiKQ0KPj4+PiBDby1kZXZlbG9wZWQtYnk6IExleCBTaWVnZWwgPHVzaWVnbDAwQGdt
YWlsLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogTGV4IFNpZWdlbCA8dXNpZWdsMDBAZ21haWwu
Y29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBpb2dlYXJi
b3gubmV0Pg0KPj4+PiBMaW5rOiBodHRwczovL2dpdGh1Yi5jb20vY2lsaXVtL2NpbGl1bS9pc3N1
ZXMvMzMzOTUNCj4+Pj4gTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYnBmLzE3MTM3NDE3
NTUxMy4xMjg3Ny44OTkzNjQyOTA4MDgyMDE0ODgxQG5vYmxlLm5laWwuYnJvd24ubmFtZQ0KPj4+
PiAtLS0NCj4+Pj4gWyBGaXhlcyB0YWdzIGFyZSBzZXQgdG8gdGhlIG9yaWcgY29ubmVjdCBjb21t
aXQgc28gdGhhdCBzdGFibGUgdGVhbQ0KPj4+PiAgY2FuIHBpY2sgdGhpcyB1cC4gXQ0KPj4+PiAN
Cj4+Pj4gdjEgLT4gdjI6DQo+Pj4+ICAtIFBsYWluIHJlc2VuZCwgYWRkaW5nIG1vcmUgc3VucnBj
IGZvbGtzIHRvIENjDQo+Pj4+IA0KPj4+PiBuZXQvc3VucnBjL3hwcnRzb2NrLmMgfCA3ICsrKysr
KysNCj4+Pj4gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQ0KPj4+PiANCj4+Pj4gZGlm
ZiAtLWdpdCBhL25ldC9zdW5ycGMveHBydHNvY2suYyBiL25ldC9zdW5ycGMveHBydHNvY2suYw0K
Pj4+PiBpbmRleCBkZmMzNTNlZWE4ZWQuLjBlMTY5MTMxNmY0MiAxMDA2NDQNCj4+Pj4gLS0tIGEv
bmV0L3N1bnJwYy94cHJ0c29jay5jDQo+Pj4+ICsrKyBiL25ldC9zdW5ycGMveHBydHNvY2suYw0K
Pj4+PiBAQCAtMjQ0MSw2ICsyNDQxLDEzIEBAIHN0YXRpYyB2b2lkIHhzX3RjcF9zZXR1cF9zb2Nr
ZXQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPj4+PiB0cmFuc3BvcnQtPnNyY3BvcnQgPSAw
Ow0KPj4+PiBzdGF0dXMgPSAtRUFHQUlOOw0KPj4+PiBicmVhazsNCj4+Pj4gKyBjYXNlIC1FUEVS
TToNCj4+Pj4gKyAvKiBIYXBwZW5zLCBmb3IgaW5zdGFuY2UsIGlmIGEgQlBGIHByb2dyYW0gaXMg
cHJldmVudGluZw0KPj4+PiArICAqIHRoZSBjb25uZWN0LiBSZW1hcCB0aGUgZXJyb3Igc28gdXBw
ZXIgbGF5ZXJzIGNhbiBiZXR0ZXINCj4+Pj4gKyAgKiBkZWFsIHdpdGggaXQuDQo+Pj4+ICsgICov
DQo+Pj4+ICsgc3RhdHVzID0gLUVDT05OUkVGVVNFRDsNCj4+Pj4gKyBmYWxsdGhyb3VnaDsNCj4+
Pj4gY2FzZSAtRUlOVkFMOg0KPj4+PiAvKiBIYXBwZW5zLCBmb3IgaW5zdGFuY2UsIGlmIHRoZSB1
c2VyIHNwZWNpZmllZCBhIGxpbmsNCj4+Pj4gKiBsb2NhbCBJUHY2IGFkZHJlc3Mgd2l0aG91dCBh
IHNjb3BlLWlkLg0KPj4+PiAtLSANCj4+Pj4gMi4yMS4wDQo+Pj4+IA0KPj4+IA0KPj4+IEhpIERh
bmllbCAtDQo+Pj4gDQo+Pj4gSSBrbm93IHRoaXMgaXMgbm90IGRvY3VtZW50ZWQgaW4gTUFJTlRB
SU5FUlMsIGJ1dCBjaGFuZ2VzIHRvDQo+Pj4gbmV0L3N1bnJwYy94cHJ0c29jay5jIGdvIHRvIEFu
bmEgU2NodW1ha2VyIGFuZCBUcm9uZCBNeWtsZWJ1c3QsDQo+Pj4gY2M6IGxpbnV4LW5mc0B2Z2Vy
Lg0KPj4gDQo+PiBXb3VsZCBpdCBiZSBwb3NzaWJsZSB0byB1cGRhdGUgTUFJTlRBSU5FUlMgYWNj
b3JkaW5nbHk/DQo+IA0KPiBJIGNhbiBkbyBpdCwgb2YgY291cnNlLCBidXQgSSdkIGxpa2UgdG8g
ZGlzY3VzcyB0aGlzDQo+IHdpdGggdGhlIE5GUyBjbGllbnQgbWFpbnRhaW5lcnMgdG8gZW5zdXJl
IHRoZXkgYWdyZWUNCj4gb24gaG93IHRoZSBmaWxlcyBhcmUgZGl2aWRlZCBiZXR3ZWVuIHRoZSB0
cmVlcy4NCg0KUmVjZWl2ZWQgYSBzdWdnZXN0aW9uIHRvIHB1dCBtb3JlIGRldGFpbCBpbiBNQUlO
VEFJTkVSUyBhYm91dA0KaG93IG5ldC9zdW5ycGMvIGlzIGRpdmlkZWQgYmV0d2VlbiB0aGUgdHdv
IE5GUyB0cmVlcy4gQ3VycmVudGx5DQp3ZSBoYXZlOg0KDQpORlMsIFNVTlJQQywgQU5EIExPQ0tE
IENMSUVOVFMNCg0KVDogICAgICBnaXQgZ2l0Oi8vZ2l0LmxpbnV4LW5mcy5vcmcvcHJvamVjdHMv
dHJvbmRteS9saW51eC1uZnMuZ2l0DQoNCkY6ICAgICAgaW5jbHVkZS9saW51eC9zdW5ycGMvDQoN
CkY6ICAgICAgaW5jbHVkZS91YXBpL2xpbnV4L3N1bnJwYy8NCkY6ICAgICAgbmV0L3N1bnJwYy8N
Cg0KDQpLRVJORUwgTkZTRCwgU1VOUlBDLCBBTkQgTE9DS0QgU0VSVkVSUw0KDQpUOiAgICAgIGdp
dCBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvY2VsL2xpbnV4
LmdpdA0KDQpGOiAgICAgIGluY2x1ZGUvbGludXgvc3VucnBjLw0KDQpGOiAgICAgIGluY2x1ZGUv
dWFwaS9saW51eC9zdW5ycGMvDQpGOiAgICAgIG5ldC9zdW5ycGMvDQoNCldoaWNoIGlzIGNvbnNp
ZGVyZWQgdW5oZWxwZnVsIGZvciBkcml2ZS1ieSBjb250cmlidXRpb25zLg0KDQpBdCBsZWFzdCBm
b3IgTkZTRCwgd2UgY291bGQgbWFrZSBpdDoNCg0KRjogaW5jbHVkZS9saW51eC9zdW5ycGMvc3Zj
Kg0KDQpGOiBuZXQvc3VucnBjL3N2YyoNCkY6IG5ldC9zdW5ycGMveHBydHJkbWEvc3ZjKg0KDQpB
bnkgb3RoZXIgdGhvdWdodHMgb3Igc3VnZ2VzdGlvbnM/DQoNCg0KLS0NCkNodWNrIExldmVyDQoN
Cg0K
.

From: cel@kernel.org
To: <linux-nfs@vger.kernel.org>
Cc: Olga Kornievskaia <kolga@netapp.com>,
	Dai Ngo <dai.ngo@oracle.com>,
	Chuck Lever <chuck.lever@oracle.com>
Subject: [RFC PATCH 0/6] Add a client-side OFFLOAD_STATUS implementation
Date: Tue,  2 Jul 2024 11:19:48 -0400
Message-ID: <20240702151947.549814-8-cel@kernel.org>
X-Mailing-List: linux-nfs@vger.kernel.org
List-Id: <linux-nfs.vger.kernel.org>
List-Subscribe: <mailto:linux-nfs+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-nfs+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Xref: photonic.trudheim.com org.kernel.vger.linux-nfs:86477
Newsgroups: org.kernel.vger.linux-nfs
Path: photonic.trudheim.com!nntp.lore.kernel.org!not-for-mail

From: Chuck Lever <chuck.lever@oracle.com>

*** COMPILE-TESTED ONLY ***

Not sure I've addressed all of Olga's concerns. This is more like a
progress report. I've more-or-less worked out how to sort through
the results of the operation and return a "bytes copied so far"
count to the caller.

Chuck Lever (6):
  NFS: Fix typo in OFFLOAD_CANCEL comment
  NFS: Implement NFSv4.2's OFFLOAD_STATUS XDR
  NFS: Rename struct nfs4_offloadcancel_data
  NFS: Implement NFSv4.2's OFFLOAD_STATUS operation
  NFS: Use  NFSv4.2's OFFLOAD_STATUS operation
  NFS: Refactor trace_nfs4_offload_cancel

 fs/nfs/nfs42proc.c        | 173 ++++++++++++++++++++++++++++++++++----
 fs/nfs/nfs42xdr.c         |  88 ++++++++++++++++++-
 fs/nfs/nfs4trace.h        |  11 ++-
 fs/nfs/nfs4xdr.c          |   1 +
 include/linux/nfs4.h      |   1 +
 include/linux/nfs_fs_sb.h |   1 +
 include/linux/nfs_xdr.h   |   5 +-
 7 files changed, 260 insertions(+), 20 deletions(-)

-- 
2.45.2

.

From: Mike Snitzer <snitzer@kernel.org>
To: linux-nfs@vger.kernel.org
Cc: Jeff Layton <jlayton@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>,
	Anna Schumaker <anna@kernel.org>,
	Trond Myklebust <trondmy@hammerspace.com>,
	NeilBrown <neilb@suse.de>,
	snitzer@hammerspace.com
Subject: [PATCH v11 00/20] nfs/nfsd: add support for localio
Date: Tue,  2 Jul 2024 12:28:11 -0400
Message-ID: <20240702162831.91604-1-snitzer@kernel.org>
X-Mailing-List: linux-nfs@vger.kernel.org
List-Id: <linux-nfs.vger.kernel.org>
List-Subscribe: <mailto:linux-nfs+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-nfs+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Xref: photonic.trudheim.com org.kernel.vger.linux-nfs:86484
Newsgroups: org.kernel.vger.linux-nfs
Path: photonic.trudheim.com!nntp.lore.kernel.org!not-for-mail

Hi,

There seems to be consensus that these changes worthwhile and
extensively iterated on.  I really appreciate the coordinated
development and review to this point.

I'd very much like these changes to land upstream as-is (unless review
teases out some show-stopper).  These changes have been tested fairly
extensively (via xfstests) at this point.

Can we noew please provide formal review tags and merge these changes
through the NFS client tree for 6.11?

Changes since v10:
- Now that XFS will _not_ be patched with "xfs: enable WQ_MEM_RECLAIM
  on m_sync_workqueue", reintroduce "nfs/localio: use dedicated workqueues for
  filesystem read and write" (patch 18).  Also fixed it so that it passes
  xfstests generic/355.

FYI:
- I do not intend to rebase this series ontop of NeilBrown's partial
  exploration of simplifying away the need for a "fake" svc_rqst
  (noble goals and happy to help those changes land upstream as an
  incremental improvement):
  https://marc.info/?l=linux-nfs&m=171980269529965&w=2

- In addition, tweaks to use nfsd_file_acquire_gc() instead of
  nfsd_file_acquire() aren't a priority.  Each incremental change
  comes with it the potential for regression and we need to lock-down
  and stop churning.  Happy to explore as incremental improvement and
  optimization.

All review and comments are welcome!

Thanks,
Mike

My git tree is here:
https://git.kernel.org/pub/scm/linux/kernel/git/snitzer/linux.git/

This v11 is both branch nfs-localio-for-6.11 (always tracks latest)
and nfs-localio-for-6.11.v11

Mike Snitzer (10):
  nfs: factor out {encode,decode}_opaque_fixed to nfs_xdr.h
  nfs_common: add NFS LOCALIO auxiliary protocol enablement
  nfsd: add Kconfig options to allow localio to be enabled
  nfsd: manage netns reference in nfsd_open_local_fh
  nfsd: use percpu_ref to interlock nfsd_destroy_serv and nfsd_open_local_fh
  nfsd: implement server support for NFS_LOCALIO_PROGRAM
  nfs: fix nfs_localio_vfs_getattr() to properly support v4
  SUNRPC: remove call_allocate() BUG_ON if p_arglen=0 to allow RPC with void arg
  nfs: implement client support for NFS_LOCALIO_PROGRAM
  nfs: add Documentation/filesystems/nfs/localio.rst

NeilBrown (1):
  SUNRPC: replace program list with program array

Trond Myklebust (3):
  nfs: enable localio for non-pNFS I/O
  pnfs/flexfiles: enable localio for flexfiles I/O
  nfs/localio: use dedicated workqueues for filesystem read and write

Weston Andros Adamson (6):
  SUNRPC: add rpcauth_map_to_svc_cred_local
  nfsd: add "localio" support
  nfs: pass nfs_client to nfs_initiate_pgio
  nfs: pass descriptor thru nfs_initiate_pgio path
  nfs: pass struct file to nfs_init_pgio and nfs_init_commit
  nfs: add "localio" support

 Documentation/filesystems/nfs/localio.rst | 135 ++++
 fs/Kconfig                                |   3 +
 fs/nfs/Kconfig                            |  14 +
 fs/nfs/Makefile                           |   1 +
 fs/nfs/blocklayout/blocklayout.c          |   6 +-
 fs/nfs/client.c                           |  15 +-
 fs/nfs/filelayout/filelayout.c            |  16 +-
 fs/nfs/flexfilelayout/flexfilelayout.c    | 131 +++-
 fs/nfs/flexfilelayout/flexfilelayout.h    |   2 +
 fs/nfs/flexfilelayout/flexfilelayoutdev.c |   6 +
 fs/nfs/inode.c                            |  61 +-
 fs/nfs/internal.h                         |  61 +-
 fs/nfs/localio.c                          | 891 ++++++++++++++++++++++
 fs/nfs/nfs4xdr.c                          |  13 -
 fs/nfs/nfstrace.h                         |  61 ++
 fs/nfs/pagelist.c                         |  32 +-
 fs/nfs/pnfs.c                             |  24 +-
 fs/nfs/pnfs.h                             |   6 +-
 fs/nfs/pnfs_nfs.c                         |   2 +-
 fs/nfs/write.c                            |  13 +-
 fs/nfs_common/Makefile                    |   3 +
 fs/nfs_common/nfslocalio.c                |  74 ++
 fs/nfsd/Kconfig                           |  14 +
 fs/nfsd/Makefile                          |   1 +
 fs/nfsd/filecache.c                       |   2 +-
 fs/nfsd/localio.c                         | 329 ++++++++
 fs/nfsd/netns.h                           |  12 +-
 fs/nfsd/nfsctl.c                          |   2 +-
 fs/nfsd/nfsd.h                            |   2 +-
 fs/nfsd/nfssvc.c                          | 116 ++-
 fs/nfsd/trace.h                           |   3 +-
 fs/nfsd/vfs.h                             |   9 +
 include/linux/nfs.h                       |   9 +
 include/linux/nfs_fs.h                    |   2 +
 include/linux/nfs_fs_sb.h                 |  10 +
 include/linux/nfs_xdr.h                   |  20 +-
 include/linux/nfslocalio.h                |  42 +
 include/linux/sunrpc/auth.h               |   4 +
 include/linux/sunrpc/svc.h                |   7 +-
 net/sunrpc/auth.c                         |  15 +
 net/sunrpc/clnt.c                         |   1 -
 net/sunrpc/svc.c                          |  68 +-
 net/sunrpc/svc_xprt.c                     |   2 +-
 net/sunrpc/svcauth_unix.c                 |   3 +-
 44 files changed, 2089 insertions(+), 154 deletions(-)
 create mode 100644 Documentation/filesystems/nfs/localio.rst
 create mode 100644 fs/nfs/localio.c
 create mode 100644 fs/nfs_common/nfslocalio.c
 create mode 100644 fs/nfsd/localio.c
 create mode 100644 include/linux/nfslocalio.h

-- 
2.44.0

.

Message-ID: <d4b235df-4ee5-4824-9d48-e3b3c1f1f4d1@oracle.com>
Date: Tue, 2 Jul 2024 17:54:49 +0100
Cc: Calum Mackay <calum.mackay@oracle.com>,
        Trond Myklebust <trondmy@hammerspace.com>, anna@kernel.org,
        Linux NFS Mailing List <linux-nfs@vger.kernel.org>, kernel-team@fb.com,
        ltp@lists.linux.it, Avinesh Kumar <akumar@suse.de>,
        NeilBrown
 <neilb@suse.de>, Sherry Yang <sherry.yang@oracle.com>,
        Josef Bacik <josef@toxicpanda.com>
Content-Language: en-GB
From: Calum Mackay <calum.mackay@oracle.com>
To: Petr Vorel <pvorel@suse.cz>
Subject: [LTP] [PATCH 1/1] nfsstat01: Update client RPC calls for kernel 6.9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Mailing-List: linux-nfs@vger.kernel.org
List-Id: <linux-nfs.vger.kernel.org>
List-Subscribe: <mailto:linux-nfs+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-nfs+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Xref: photonic.trudheim.com org.kernel.vger.linux-nfs:86503
Newsgroups: org.kernel.vger.linux-nfs,it.linux.lists.ltp
Path: photonic.trudheim.com!nntp.lore.kernel.org!not-for-mail

hi Petr,

I noticed your LTP patch [1][2] which adjusts the nfsstat01 test on v6.9 
kernels, to account for Josef's changes [3], which restrict the NFS/RPC 
stats per-namespace.

I see that Josef's changes were backported, as far back as longterm 
v5.4, so your check for kernel version "6.9" in the test may need to be 
adjusted, if LTP is intended to be run on stable kernels?

best wishes,
calum.


[1] https://lore.kernel.org/ltp/20240620111129.594449-1-pvorel@suse.cz/
[2] 
https://patchwork.ozlabs.org/project/ltp/patch/20240620111129.594449-1-pvorel@suse.cz/
[3] 
https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/
.

