aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/callback_proc.c2
-rw-r--r--fs/nfs/nfs4_fs.h2
-rw-r--r--fs/nfs/nfs4proc.c8
3 files changed, 11 insertions, 1 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c
index 0ef047b7d28d..15b9879d6fbb 100644
--- a/fs/nfs/callback_proc.c
+++ b/fs/nfs/callback_proc.c
@@ -576,7 +576,7 @@ __be32 nfs4_callback_recallslot(struct cb_recallslotargs *args, void *dummy,
576 if (args->crsa_target_max_slots == fc_tbl->max_slots) 576 if (args->crsa_target_max_slots == fc_tbl->max_slots)
577 goto out; 577 goto out;
578 578
579 fc_tbl->target_highest_slotid = args->crsa_target_max_slots; 579 nfs41_set_target_slotid(fc_tbl, args->crsa_target_max_slots);
580 nfs41_handle_recall_slot(cps->clp); 580 nfs41_handle_recall_slot(cps->clp);
581out: 581out:
582 dprintk("%s: exit with status = %d\n", __func__, ntohl(status)); 582 dprintk("%s: exit with status = %d\n", __func__, ntohl(status));
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index 42c58691fb41..5d4e82b10c3c 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -260,6 +260,8 @@ extern int nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data,
260 260
261extern struct nfs4_slot *nfs4_alloc_slots(struct nfs4_slot_table *table, 261extern struct nfs4_slot *nfs4_alloc_slots(struct nfs4_slot_table *table,
262 u32 max_slots, gfp_t gfp_flags); 262 u32 max_slots, gfp_t gfp_flags);
263extern void nfs41_set_target_slotid(struct nfs4_slot_table *tbl,
264 u32 target_highest_slotid);
263 265
264static inline bool 266static inline bool
265is_ds_only_client(struct nfs_client *clp) 267is_ds_only_client(struct nfs_client *clp)
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 52435ec44193..62212231ce62 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -498,6 +498,14 @@ static void nfs41_set_target_slotid_locked(struct nfs4_slot_table *tbl,
498 tbl->generation++; 498 tbl->generation++;
499} 499}
500 500
501void nfs41_set_target_slotid(struct nfs4_slot_table *tbl,
502 u32 target_highest_slotid)
503{
504 spin_lock(&tbl->slot_tbl_lock);
505 nfs41_set_target_slotid_locked(tbl, target_highest_slotid);
506 spin_unlock(&tbl->slot_tbl_lock);
507}
508
501static void nfs41_set_server_slotid_locked(struct nfs4_slot_table *tbl, 509static void nfs41_set_server_slotid_locked(struct nfs4_slot_table *tbl,
502 u32 highest_slotid) 510 u32 highest_slotid)
503{ 511{