diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
index b4e2c79bde..98f71d2e7e 100644
--- a/man/systemd.mount.xml
+++ b/man/systemd.mount.xml
@@ -161,8 +161,15 @@
The NFS mount option for NFS background mounts
as documented in nfs5
- is not supported in /etc/fstab entries. The systemd mount option
- provides similar functionality and should be used instead.
+ is detected by systemd-fstab-generator and the options
+ are transformed so that systemd fulfills the job-control implications of
+ that option. Specifically systemd-fstab-generator acts
+ as though x-systemd.mount-timout=infinity,retry=10000 was
+ prepended to the option list, and fg,nofail was appended.
+ Depending on specific requirements, it may be appropriate to provide some of
+ these options explicitly, or to make use of the
+ x-systemd.automount option described below instead
+ of using bg.
When reading /etc/fstab a few special
mount options are understood by systemd which influence how
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 0bbc6c71bc..7688a75f12 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -358,6 +358,20 @@ static int add_mount(
"Documentation=man:fstab(5) man:systemd-fstab-generator(8)\n",
source);
+ if (STR_IN_SET(fstype, "nfs", "nfs4") && !automount &&
+ fstab_test_yes_no_option(opts, "bg\0" "fg\0")) {
+ /* The default retry timeout that mount.nfs uses for 'bg' mounts
+ * is 10000 minutes, where as it uses 2 minutes for 'fg' mounts.
+ * As we are making 'bg' mounts look like an 'fg' mount to
+ * mount.nfs (so systemd can manage the job-control aspects of 'bg'),
+ * we need to explicitly preserve that default, and also ensure
+ * the systemd mount-timeout doesn't interfere.
+ * By placing these options first, they can be over-ridden by
+ * settings in /etc/fstab. */
+ opts = strjoina("x-systemd.mount-timeout=infinity,retry=10000,", opts, ",fg");
+ nofail = true;
+ }
+
if (!nofail && !automount)
fprintf(f, "Before=%s\n", post);