Merge tag 'nfs-for-3.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[linux-2.6-block.git] / fs / nfs / nfs4state.c
index 2349518eef2c28c9c74692335252b4a3877f4d22..848f6853c59e49c8b3b570ddc99626bfab935212 100644 (file)
@@ -1140,9 +1140,9 @@ static int nfs4_run_state_manager(void *);
 
 static void nfs4_clear_state_manager_bit(struct nfs_client *clp)
 {
-       smp_mb__before_clear_bit();
+       smp_mb__before_atomic();
        clear_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state);
-       smp_mb__after_clear_bit();
+       smp_mb__after_atomic();
        wake_up_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING);
        rpc_wake_up(&clp->cl_rpcwaitq);
 }
@@ -1456,7 +1456,7 @@ static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp, const struct nfs
         * server that doesn't support a grace period.
         */
        spin_lock(&sp->so_lock);
-       write_seqcount_begin(&sp->so_reclaim_seqcount);
+       raw_write_seqcount_begin(&sp->so_reclaim_seqcount);
 restart:
        list_for_each_entry(state, &sp->so_states, open_states) {
                if (!test_and_clear_bit(ops->state_flag_bit, &state->flags))
@@ -1519,13 +1519,13 @@ restart:
                spin_lock(&sp->so_lock);
                goto restart;
        }
-       write_seqcount_end(&sp->so_reclaim_seqcount);
+       raw_write_seqcount_end(&sp->so_reclaim_seqcount);
        spin_unlock(&sp->so_lock);
        return 0;
 out_err:
        nfs4_put_open_state(state);
        spin_lock(&sp->so_lock);
-       write_seqcount_end(&sp->so_reclaim_seqcount);
+       raw_write_seqcount_end(&sp->so_reclaim_seqcount);
        spin_unlock(&sp->so_lock);
        return status;
 }