|
@@ -3474,7 +3474,7 @@ static bool nfsd4_cb_channel_good(struct nfs4_client *clp)
|
|
return clp->cl_minorversion && clp->cl_cb_state == NFSD4_CB_UNKNOWN;
|
|
return clp->cl_minorversion && clp->cl_cb_state == NFSD4_CB_UNKNOWN;
|
|
}
|
|
}
|
|
|
|
|
|
-static struct file_lock *nfs4_alloc_init_lease(struct nfs4_delegation *dp, int flag)
|
|
|
|
|
|
+static struct file_lock *nfs4_alloc_init_lease(struct nfs4_file *fp, int flag)
|
|
{
|
|
{
|
|
struct file_lock *fl;
|
|
struct file_lock *fl;
|
|
|
|
|
|
@@ -3486,7 +3486,7 @@ static struct file_lock *nfs4_alloc_init_lease(struct nfs4_delegation *dp, int f
|
|
fl->fl_flags = FL_DELEG;
|
|
fl->fl_flags = FL_DELEG;
|
|
fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK;
|
|
fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK;
|
|
fl->fl_end = OFFSET_MAX;
|
|
fl->fl_end = OFFSET_MAX;
|
|
- fl->fl_owner = (fl_owner_t)(dp->dl_file);
|
|
|
|
|
|
+ fl->fl_owner = (fl_owner_t)fp;
|
|
fl->fl_pid = current->tgid;
|
|
fl->fl_pid = current->tgid;
|
|
return fl;
|
|
return fl;
|
|
}
|
|
}
|
|
@@ -3497,7 +3497,7 @@ static int nfs4_setlease(struct nfs4_delegation *dp)
|
|
struct file_lock *fl;
|
|
struct file_lock *fl;
|
|
int status;
|
|
int status;
|
|
|
|
|
|
- fl = nfs4_alloc_init_lease(dp, NFS4_OPEN_DELEGATE_READ);
|
|
|
|
|
|
+ fl = nfs4_alloc_init_lease(fp, NFS4_OPEN_DELEGATE_READ);
|
|
if (!fl)
|
|
if (!fl)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
fl->fl_file = find_readable_file(fp);
|
|
fl->fl_file = find_readable_file(fp);
|