Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NFS] Reflect new Sync default in export options #2392

Open
FroggyFlox opened this issue Jul 5, 2022 · 4 comments
Open

[NFS] Reflect new Sync default in export options #2392

FroggyFlox opened this issue Jul 5, 2022 · 4 comments
Labels
UI-enhancement Enhancement, renovation, update within Web-UI.

Comments

@FroggyFlox
Copy link
Member

FroggyFlox commented Jul 5, 2022

The manpage for exports reads:

In releases of nfs-utils up to and including 1.0.0, the async option was the default. In all releases after 1.0.0, sync is the default, and async must be explicitly requested if needed. To help make system administrators aware of this change, exportfs will issue a warning if neither sync nor async is specified.

https://linux.die.net/man/5/exports

Leap 15.3 currently has nfs-utils v2.1.1:

# zypper info nfs-utils
Loading repository data...
Reading installed packages...


package 'nfs-utils' not found.

Information for srcpackage nfs-utils:
-------------------------------------
Repository            : Update repository with updates from SUSE Linux Enterprise 15
Name                  : nfs-utils
Version               : 2.1.1-150100.10.24.1
Arch                  : noarch
Vendor                : SUSE LLC <https://www.suse.com/>
Summary               : Support Utilities for Kernel nfsd
Description           : 
    This package contains the NFS utilities. You can tune the number of
    server threads via the sysconfig variable USE_KERNEL_NFSD_NUMBER. For
    quota over NFS support, install the quota package.
Builds binary package : 
    S | Name              | Version
    --+-------------------+---------------------
    i | nfs-client        | 2.1.1-150100.10.24.1
      | nfs-doc           | 2.1.1-150100.10.24.1
    i | nfs-kernel-server | 2.1.1-150100.10.24.1

Currently. our docs incorrectly list the "sync" option as default (will be corrected in the fix for rockstor/rockstor-doc#345), and the webUI reflects the same, with the async choice being the default selected option.
image

We should follow the nfs defaults and make the sync choice as selected by default.

@FroggyFlox
Copy link
Member Author

We might want to take advantage of this issue to also provide links to our docs related to NFS; these would be the various sections of https://rockstor.com/docs/interface/storage/file_sharing/nfs_ops.html.

@FroggyFlox
Copy link
Member Author

Note that this might also require a small update of our NFSExport model:

"""mount async by default"""
SYNC_CHOICES = (
(ASYNC, "async"),
(SYNC, "sync"),
)

@phillxnet phillxnet added the UI-enhancement Enhancement, renovation, update within Web-UI. label Nov 15, 2024
@phillxnet
Copy link
Member

Linking to recent attention the NFS side of things has received:

As of now Leap 15.6 has the following info shown for the source package nfs-utils:

rleap15-6:~ # zypper info nfs-utils
Loading repository data...
Reading installed packages...


package 'nfs-utils' not found.

Information for srcpackage nfs-utils:
-------------------------------------
Repository            : Update repository with updates from SUSE Linux Enterprise 15
Name                  : nfs-utils
Version               : 2.6.4-150600.28.3.2
Arch                  : noarch
Vendor                : SUSE LLC <https://www.suse.com/>
Summary               : Support Utilities for Kernel nfsd
Description           : 
    This package contains the NFS utilities. You can tune the number of
    server threads via the sysconfig variable USE_KERNEL_NFSD_NUMBER. For
    quota over NFS support, install the quota package.
Builds binary package : 
    S | Name              | Version
    --+-------------------+--------------------
      | libnfsidmap0      | 0.26-150600.28.3.2
    i | libnfsidmap1      | 1.0-150600.28.3.2
    i | nfs-client        | 2.6.4-150600.28.3.2
      | nfs-doc           | 2.6.4-150600.28.3.2
    i | nfs-kernel-server | 2.6.4-150600.28.3.2
      | nfsidmap-devel    | 1.0-150600.28.3.2
      | nfsidmap0-devel   | 0.26-150600.28.3.2

I'm a little reluctant to approach this change in our now late testing phase: given the model change requirement. But at least our tests have now seen some recent maintenance.

I've added the new UI-enhancement label to this issue so we can more easily pick it out for consideration during the next testing phase; given we are to focus more on the front-end, albeit the model is a back-end change for this one. But we will also have some front end changes here to modify this default. However we also need to reflect this change in our API interface defaults: assuming this default change in sync/async is still the prevalent thought. I agree however that we should reflect the safer approach taken by the upstream here. But as recent forum posts have indicated, sync can have sever performance drawbacks. We could perhaps indicate this in our Web-UI changes while we are there changing this default.

@phillxnet
Copy link
Member

Copying in a more modern reference to this same nfs export group model:

"""mount async by default"""
SYNC_CHOICES = (
(ASYNC, "async"),
(SYNC, "sync"),
)
syncable = models.CharField(
max_length=5,
choices=SYNC_CHOICES,
default=ASYNC,
validators=[validators.validate_nfs_sync_choice],
)

Essentially unchanged, but we see the default setting further down in the above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI-enhancement Enhancement, renovation, update within Web-UI.
Projects
None yet
Development

No branches or pull requests

2 participants