]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
NFSv4: pass lease period in seconds to nfs4_set_lease_period()
authorSergey Shtylyov <s.shtylyov@omp.ru>
Mon, 8 Dec 2025 20:15:03 +0000 (23:15 +0300)
committerAnna Schumaker <anna.schumaker@oracle.com>
Mon, 9 Feb 2026 18:39:39 +0000 (13:39 -0500)
There's no need to multiply the lease period by HZ at all the call sites of
nfs4_set_lease_period() -- it makes more sense to do that only once, inside
that function, by passing to it lease period as 32-bit # of seconds instead
of 32/64-bit *unsigned long* # of jiffies...

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/nfs4_fs.h
fs/nfs/nfs4proc.c
fs/nfs/nfs4renewd.c
fs/nfs/nfs4state.c

index 783df6901b84139237c906535f36cf79cbf83789..b48e5b87cb2a9b5366852e2c0e04484aa08fd26b 100644 (file)
@@ -477,8 +477,7 @@ struct nfs_client *nfs4_alloc_client(const struct nfs_client_initdata *);
 extern void nfs4_schedule_state_renewal(struct nfs_client *);
 extern void nfs4_kill_renewd(struct nfs_client *);
 extern void nfs4_renew_state(struct work_struct *);
-extern void nfs4_set_lease_period(struct nfs_client *clp, unsigned long lease);
-
+extern void nfs4_set_lease_period(struct nfs_client *clp, u32 period);
 
 /* nfs4state.c */
 extern const nfs4_stateid current_stateid;
index 7c9cf0983366ee40e74f4dcdad02d7d728035e4f..9c2ffe72cf339125856c2550950149673fca0bb2 100644 (file)
@@ -5487,7 +5487,7 @@ static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, str
                err = _nfs4_do_fsinfo(server, fhandle, fsinfo);
                trace_nfs4_fsinfo(server, fhandle, fsinfo->fattr, err);
                if (err == 0) {
-                       nfs4_set_lease_period(server->nfs_client, fsinfo->lease_time * HZ);
+                       nfs4_set_lease_period(server->nfs_client, fsinfo->lease_time);
                        break;
                }
                err = nfs4_handle_exception(server, err, &exception);
index 18ae614e5a6c39157f8fbddc9a1e3d51f68cb760..043b2de8d416c690122235fc0a030d0939fb6059 100644 (file)
@@ -137,11 +137,12 @@ nfs4_kill_renewd(struct nfs_client *clp)
  * nfs4_set_lease_period - Sets the lease period on a nfs_client
  *
  * @clp: pointer to nfs_client
- * @lease: new value for lease period
+ * @period: new value for lease period (in seconds)
  */
-void nfs4_set_lease_period(struct nfs_client *clp,
-               unsigned long lease)
+void nfs4_set_lease_period(struct nfs_client *clp, u32 period)
 {
+       unsigned long lease = period * HZ;
+
        spin_lock(&clp->cl_lock);
        clp->cl_lease_time = lease;
        spin_unlock(&clp->cl_lock);
index 3de1fb242c1549a4df280d7cedcb632d4298f0ed..963719f3546796b6ccd19f4a090af93e36a8476e 100644 (file)
@@ -104,7 +104,7 @@ static int nfs4_setup_state_renewal(struct nfs_client *clp)
 
        status = nfs4_proc_get_lease_time(clp, &fsinfo);
        if (status == 0) {
-               nfs4_set_lease_period(clp, fsinfo.lease_time * HZ);
+               nfs4_set_lease_period(clp, fsinfo.lease_time);
                nfs4_schedule_state_renewal(clp);
        }