static void nfs4_clear_state_manager_bit(struct nfs_client *clp)
 {
-       smp_mb__before_atomic();
-       clear_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state);
-       smp_mb__after_atomic();
-       wake_up_bit(&clp->cl_state, NFS4CLNT_MANAGER_RUNNING);
+       clear_and_wake_up_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state);
        rpc_wake_up(&clp->cl_rpcwaitq);
 }
 
 
 void
 nfs_page_clear_headlock(struct nfs_page *req)
 {
-       smp_mb__before_atomic();
-       clear_bit(PG_HEADLOCK, &req->wb_flags);
+       clear_bit_unlock(PG_HEADLOCK, &req->wb_flags);
        smp_mb__after_atomic();
        if (!test_bit(PG_CONTENDED1, &req->wb_flags))
                return;
  */
 void nfs_unlock_request(struct nfs_page *req)
 {
-       if (!NFS_WBACK_BUSY(req)) {
-               printk(KERN_ERR "NFS: Invalid unlock attempted\n");
-               BUG();
-       }
-       smp_mb__before_atomic();
-       clear_bit(PG_BUSY, &req->wb_flags);
+       clear_bit_unlock(PG_BUSY, &req->wb_flags);
        smp_mb__after_atomic();
        if (!test_bit(PG_CONTENDED2, &req->wb_flags))
                return;