Re: [PATCH V2] nfs(5): Update rsize/wsize options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 11/20/24 2:57 AM, Cedric Blancher wrote:
On Tue, 19 Nov 2024 at 18:07, Steve Dickson <steved@xxxxxxxxxx> wrote:

From: Seiichi Ikarashi <s.ikarashi@xxxxxxxxxxx>

The rsize/wsize values are not multiples of 1024 but multiples of the
system's page size or powers of 2 if < system's page size as defined
in fs/nfs/internal.h:nfs_io_size().

Signed-off-by: Steve Dickson <steved@xxxxxxxxxx>

REJECT.
You mean NACK! :-)

As discussed, this is the WRONG approach. The pagesize is not
not easily determinable (/bin/pagesize not even being part of the
default install), and the page size is flexible on many architectures.
Yes... /bin/pagesize is not needed only getconf PAGESIZE is which
is in all default installs.

rsize/wsize depending on the page size makes this option non portable
across platforms, or even same platforms with different default
pagesize settings.
"rsize/wsize depending on the page size" is a kernel thing...
Nothing nfs-utils can do about it but accurately document
what is happening.

In real life, this can prevent puppet from working for NFS root, if
NFS root needs rsize/wsize, and someone switches the default page
size.
Why is puppet evening messing with rsize/wsize? Just let the
kernel do the right thing...


I thought the correct fix would be to fix the NFS client to count in
kbytes as documented, and round up/down to the pagesize.
Again this is a kernel thing... Patches are welcomed!

steved.


Ced

---
  utils/mount/nfs.man | 24 +++++++++++++++---------
  1 file changed, 15 insertions(+), 9 deletions(-)

V2: Replaced PAGE_SIZE with "system's page size"

diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
index 233a7177..eab4692a 100644
--- a/utils/mount/nfs.man
+++ b/utils/mount/nfs.man
@@ -215,15 +215,18 @@ or smaller than the
  setting. The largest read payload supported by the Linux NFS client
  is 1,048,576 bytes (one megabyte).
  .IP
-The
+The allowed
  .B rsize
-value is a positive integral multiple of 1024.
+value is a positive integral multiple of
+system's page size
+or a power of two if it is less than
+system's page size.
  Specified
  .B rsize
  values lower than 1024 are replaced with 4096; values larger than
  1048576 are replaced with 1048576. If a specified value is within the supported
-range but not a multiple of 1024, it is rounded down to the nearest
-multiple of 1024.
+range but not such an allowed value, it is rounded down to the nearest
+allowed value.
  .IP
  If an
  .B rsize
@@ -257,16 +260,19 @@ setting. The largest write payload supported by the Linux NFS client
  is 1,048,576 bytes (one megabyte).
  .IP
  Similar to
-.B rsize
-, the
+.BR rsize ,
+the allowed
  .B wsize
-value is a positive integral multiple of 1024.
+value is a positive integral multiple of
+system's page size
+or a power of two if it is less than
+system's page size.
  Specified
  .B wsize
  values lower than 1024 are replaced with 4096; values larger than
  1048576 are replaced with 1048576. If a specified value is within the supported
-range but not a multiple of 1024, it is rounded down to the nearest
-multiple of 1024.
+range but not such an allowed value, it is rounded down to the nearest
+allowed value.
  .IP
  If a
  .B wsize
--
2.47.0









[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux