Loading fs/nfsd/nfsctl.c +17 −12 Original line number Diff line number Diff line Loading @@ -1203,26 +1203,36 @@ static ssize_t write_maxblksize(struct file *file, char *buf, size_t size) } #ifdef CONFIG_NFSD_V4 static ssize_t __write_leasetime(struct file *file, char *buf, size_t size) static ssize_t __nfsd4_write_time(struct file *file, char *buf, size_t size, time_t *time) { /* if size > 10 seconds, call * nfs4_reset_lease() then write out the new lease (seconds) as reply */ char *mesg = buf; int rv, lease; int rv, i; if (size > 0) { if (nfsd_serv) return -EBUSY; rv = get_int(&mesg, &lease); rv = get_int(&mesg, &i); if (rv) return rv; if (lease < 10 || lease > 3600) if (i < 10 || i > 3600) return -EINVAL; nfsd4_lease = lease; *time = i; } return scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, "%ld\n", nfsd4_lease); return scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, "%ld\n", *time); } static ssize_t nfsd4_write_time(struct file *file, char *buf, size_t size, time_t *time) { ssize_t rv; mutex_lock(&nfsd_mutex); rv = __nfsd4_write_time(file, buf, size, time); mutex_unlock(&nfsd_mutex); return rv; } /** Loading @@ -1248,12 +1258,7 @@ static ssize_t __write_leasetime(struct file *file, char *buf, size_t size) */ static ssize_t write_leasetime(struct file *file, char *buf, size_t size) { ssize_t rv; mutex_lock(&nfsd_mutex); rv = __write_leasetime(file, buf, size); mutex_unlock(&nfsd_mutex); return rv; return nfsd4_write_time(file, buf, size, &nfsd4_lease); } extern char *nfs4_recoverydir(void); Loading Loading
fs/nfsd/nfsctl.c +17 −12 Original line number Diff line number Diff line Loading @@ -1203,26 +1203,36 @@ static ssize_t write_maxblksize(struct file *file, char *buf, size_t size) } #ifdef CONFIG_NFSD_V4 static ssize_t __write_leasetime(struct file *file, char *buf, size_t size) static ssize_t __nfsd4_write_time(struct file *file, char *buf, size_t size, time_t *time) { /* if size > 10 seconds, call * nfs4_reset_lease() then write out the new lease (seconds) as reply */ char *mesg = buf; int rv, lease; int rv, i; if (size > 0) { if (nfsd_serv) return -EBUSY; rv = get_int(&mesg, &lease); rv = get_int(&mesg, &i); if (rv) return rv; if (lease < 10 || lease > 3600) if (i < 10 || i > 3600) return -EINVAL; nfsd4_lease = lease; *time = i; } return scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, "%ld\n", nfsd4_lease); return scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, "%ld\n", *time); } static ssize_t nfsd4_write_time(struct file *file, char *buf, size_t size, time_t *time) { ssize_t rv; mutex_lock(&nfsd_mutex); rv = __nfsd4_write_time(file, buf, size, time); mutex_unlock(&nfsd_mutex); return rv; } /** Loading @@ -1248,12 +1258,7 @@ static ssize_t __write_leasetime(struct file *file, char *buf, size_t size) */ static ssize_t write_leasetime(struct file *file, char *buf, size_t size) { ssize_t rv; mutex_lock(&nfsd_mutex); rv = __write_leasetime(file, buf, size); mutex_unlock(&nfsd_mutex); return rv; return nfsd4_write_time(file, buf, size, &nfsd4_lease); } extern char *nfs4_recoverydir(void); Loading