nfsd4: reshuffle lease-setting code to allow reuse
We'll soon allow setting the grace period, so we'll want to share this code. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>hifive-unleashed-5.1
parent
f958a1320f
commit
f013574014
|
@ -1203,26 +1203,36 @@ static ssize_t write_maxblksize(struct file *file, char *buf, size_t size)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NFSD_V4
|
#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
|
/* if size > 10 seconds, call
|
||||||
* nfs4_reset_lease() then write out the new lease (seconds) as reply
|
* nfs4_reset_lease() then write out the new lease (seconds) as reply
|
||||||
*/
|
*/
|
||||||
char *mesg = buf;
|
char *mesg = buf;
|
||||||
int rv, lease;
|
int rv, i;
|
||||||
|
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
if (nfsd_serv)
|
if (nfsd_serv)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
rv = get_int(&mesg, &lease);
|
rv = get_int(&mesg, &i);
|
||||||
if (rv)
|
if (rv)
|
||||||
return rv;
|
return rv;
|
||||||
if (lease < 10 || lease > 3600)
|
if (i < 10 || i > 3600)
|
||||||
return -EINVAL;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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)
|
static ssize_t write_leasetime(struct file *file, char *buf, size_t size)
|
||||||
{
|
{
|
||||||
ssize_t rv;
|
return nfsd4_write_time(file, buf, size, &nfsd4_lease);
|
||||||
|
|
||||||
mutex_lock(&nfsd_mutex);
|
|
||||||
rv = __write_leasetime(file, buf, size);
|
|
||||||
mutex_unlock(&nfsd_mutex);
|
|
||||||
return rv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern char *nfs4_recoverydir(void);
|
extern char *nfs4_recoverydir(void);
|
||||||
|
|
Loading…
Reference in New Issue