Opt_v,
        Opt_vers,
        Opt_wsize,
+       Opt_write,
 };
 
 enum {
        {}
 };
 
+enum {
+       Opt_write_lazy,
+       Opt_write_eager,
+       Opt_write_wait,
+};
+
+static const struct constant_table nfs_param_enums_write[] = {
+       { "lazy",               Opt_write_lazy },
+       { "eager",              Opt_write_eager },
+       { "wait",               Opt_write_wait },
+       {}
+};
+
 static const struct fs_parameter_spec nfs_fs_parameters[] = {
        fsparam_flag_no("ac",           Opt_ac),
        fsparam_u32   ("acdirmax",      Opt_acdirmax),
        fsparam_flag  ("v4.1",          Opt_v),
        fsparam_flag  ("v4.2",          Opt_v),
        fsparam_string("vers",          Opt_vers),
+       fsparam_enum  ("write",         Opt_write, nfs_param_enums_write),
        fsparam_u32   ("wsize",         Opt_wsize),
        {}
 };
                        goto out_invalid_value;
                }
                break;
+       case Opt_write:
+               switch (result.uint_32) {
+               case Opt_write_lazy:
+                       ctx->flags &=
+                               ~(NFS_MOUNT_WRITE_EAGER | NFS_MOUNT_WRITE_WAIT);
+                       break;
+               case Opt_write_eager:
+                       ctx->flags |= NFS_MOUNT_WRITE_EAGER;
+                       ctx->flags &= ~NFS_MOUNT_WRITE_WAIT;
+                       break;
+               case Opt_write_wait:
+                       ctx->flags |=
+                               NFS_MOUNT_WRITE_EAGER | NFS_MOUNT_WRITE_WAIT;
+                       break;
+               default:
+                       goto out_invalid_value;
+               }
+               break;
 
                /*
                 * Special options