.. | .. |
---|
169 | 169 | spin_unlock(&fp->fi_lock); |
---|
170 | 170 | |
---|
171 | 171 | if (!nfsd4_layout_ops[ls->ls_layout_type]->disable_recalls) |
---|
172 | | - vfs_setlease(ls->ls_file, F_UNLCK, NULL, (void **)&ls); |
---|
173 | | - fput(ls->ls_file); |
---|
| 172 | + vfs_setlease(ls->ls_file->nf_file, F_UNLCK, NULL, (void **)&ls); |
---|
| 173 | + nfsd_file_put(ls->ls_file); |
---|
174 | 174 | |
---|
175 | 175 | if (ls->ls_recalled) |
---|
176 | 176 | atomic_dec(&ls->ls_stid.sc_file->fi_lo_recalls); |
---|
.. | .. |
---|
197 | 197 | fl->fl_end = OFFSET_MAX; |
---|
198 | 198 | fl->fl_owner = ls; |
---|
199 | 199 | fl->fl_pid = current->tgid; |
---|
200 | | - fl->fl_file = ls->ls_file; |
---|
| 200 | + fl->fl_file = ls->ls_file->nf_file; |
---|
201 | 201 | |
---|
202 | 202 | status = vfs_setlease(fl->fl_file, fl->fl_type, &fl, NULL); |
---|
203 | 203 | if (status) { |
---|
.. | .. |
---|
236 | 236 | NFSPROC4_CLNT_CB_LAYOUT); |
---|
237 | 237 | |
---|
238 | 238 | if (parent->sc_type == NFS4_DELEG_STID) |
---|
239 | | - ls->ls_file = get_file(fp->fi_deleg_file); |
---|
| 239 | + ls->ls_file = nfsd_file_get(fp->fi_deleg_file); |
---|
240 | 240 | else |
---|
241 | 241 | ls->ls_file = find_any_file(fp); |
---|
242 | 242 | BUG_ON(!ls->ls_file); |
---|
243 | 243 | |
---|
244 | 244 | if (nfsd4_layout_setlease(ls)) { |
---|
245 | | - fput(ls->ls_file); |
---|
| 245 | + nfsd_file_put(ls->ls_file); |
---|
246 | 246 | put_nfs4_file(fp); |
---|
247 | 247 | kmem_cache_free(nfs4_layout_stateid_cache, ls); |
---|
248 | 248 | return NULL; |
---|
.. | .. |
---|
322 | 322 | if (ls->ls_recalled) |
---|
323 | 323 | goto out_unlock; |
---|
324 | 324 | |
---|
325 | | - ls->ls_recalled = true; |
---|
326 | | - atomic_inc(&ls->ls_stid.sc_file->fi_lo_recalls); |
---|
327 | 325 | if (list_empty(&ls->ls_layouts)) |
---|
328 | 326 | goto out_unlock; |
---|
329 | 327 | |
---|
| 328 | + ls->ls_recalled = true; |
---|
| 329 | + atomic_inc(&ls->ls_stid.sc_file->fi_lo_recalls); |
---|
330 | 330 | trace_nfsd_layout_recall(&ls->ls_stid.sc_stateid); |
---|
331 | 331 | |
---|
332 | 332 | refcount_inc(&ls->ls_stid.sc_count); |
---|
.. | .. |
---|
626 | 626 | |
---|
627 | 627 | argv[0] = (char *)nfsd_recall_failed; |
---|
628 | 628 | argv[1] = addr_str; |
---|
629 | | - argv[2] = ls->ls_file->f_path.mnt->mnt_sb->s_id; |
---|
| 629 | + argv[2] = ls->ls_file->nf_file->f_path.mnt->mnt_sb->s_id; |
---|
630 | 630 | argv[3] = NULL; |
---|
631 | 631 | |
---|
632 | 632 | error = call_usermodehelper(nfsd_recall_failed, argv, envp, |
---|
.. | .. |
---|
656 | 656 | struct nfsd_net *nn; |
---|
657 | 657 | ktime_t now, cutoff; |
---|
658 | 658 | const struct nfsd4_layout_ops *ops; |
---|
659 | | - LIST_HEAD(reaplist); |
---|
660 | 659 | |
---|
661 | 660 | |
---|
662 | 661 | switch (task->tk_status) { |
---|
.. | .. |
---|
682 | 681 | rpc_delay(task, HZ/100); /* 10 mili-seconds */ |
---|
683 | 682 | return 0; |
---|
684 | 683 | } |
---|
685 | | - /* Fallthrough */ |
---|
| 684 | + fallthrough; |
---|
686 | 685 | default: |
---|
687 | 686 | /* |
---|
688 | 687 | * Unknown error or non-responding client, we'll need to fence. |
---|
.. | .. |
---|
694 | 693 | ops->fence_client(ls); |
---|
695 | 694 | else |
---|
696 | 695 | nfsd4_cb_layout_fail(ls); |
---|
697 | | - return -1; |
---|
| 696 | + return 1; |
---|
698 | 697 | case -NFS4ERR_NOMATCHING_LAYOUT: |
---|
699 | 698 | trace_nfsd_layout_recall_done(&ls->ls_stid.sc_stateid); |
---|
700 | 699 | task->tk_status = 0; |
---|