iov[1].iov_base = (char *)smb + 4;
 
        rc = cifs_call_async(server, &rqst, NULL, cifs_echo_callback, NULL,
-                            server, CIFS_ASYNC_OP | CIFS_ECHO_OP, NULL);
+                            server, CIFS_NON_BLOCKING | CIFS_ECHO_OP, NULL);
        if (rc)
                cifs_dbg(FYI, "Echo request failed: %d\n", rc);
 
        iov[1].iov_len = (num_unlock + num_lock) * sizeof(LOCKING_ANDX_RANGE);
 
        cifs_stats_inc(&tcon->stats.cifs_stats.num_locks);
-       rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type, CIFS_NO_RESP,
-                         &rsp_iov);
+       rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type,
+                         CIFS_NO_RSP_BUF, &rsp_iov);
        cifs_small_buf_release(pSMB);
        if (rc)
                cifs_dbg(FYI, "Send error in cifs_lockv = %d\n", rc);
 
        if (lockType == LOCKING_ANDX_OPLOCK_RELEASE) {
                /* no response expected */
-               flags = CIFS_NO_SRV_RSP | CIFS_ASYNC_OP | CIFS_OBREAK_OP;
+               flags = CIFS_NO_SRV_RSP | CIFS_NON_BLOCKING | CIFS_OBREAK_OP;
                pSMB->Timeout = 0;
        } else if (waitFlag) {
                flags = CIFS_BLOCKING_OP; /* blocking operation, no timeout */
        return rc;
 }
 #endif
-
-#ifdef CONFIG_CIFS_DNOTIFY_EXPERIMENTAL /* BB unused temporarily */
-/*
- *     Years ago the kernel added a "dnotify" function for Samba server,
- *     to allow network clients (such as Windows) to display updated
- *     lists of files in directory listings automatically when
- *     files are added by one user when another user has the
- *     same directory open on their desktop.  The Linux cifs kernel
- *     client hooked into the kernel side of this interface for
- *     the same reason, but ironically when the VFS moved from
- *     "dnotify" to "inotify" it became harder to plug in Linux
- *     network file system clients (the most obvious use case
- *     for notify interfaces is when multiple users can update
- *     the contents of the same directory - exactly what network
- *     file systems can do) although the server (Samba) could
- *     still use it.  For the short term we leave the worker
- *     function ifdeffed out (below) until inotify is fixed
- *     in the VFS to make it easier to plug in network file
- *     system clients.  If inotify turns out to be permanently
- *     incompatible for network fs clients, we could instead simply
- *     expose this config flag by adding a future cifs (and smb2) notify ioctl.
- */
-int CIFSSMBNotify(const unsigned int xid, struct cifs_tcon *tcon,
-                 const int notify_subdirs, const __u16 netfid,
-                 __u32 filter, struct file *pfile, int multishot,
-                 const struct nls_table *nls_codepage)
-{
-       int rc = 0;
-       struct smb_com_transaction_change_notify_req *pSMB = NULL;
-       struct smb_com_ntransaction_change_notify_rsp *pSMBr = NULL;
-       struct dir_notify_req *dnotify_req;
-       int bytes_returned;
-
-       cifs_dbg(FYI, "In CIFSSMBNotify for file handle %d\n", (int)netfid);
-       rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB,
-                     (void **) &pSMBr);
-       if (rc)
-               return rc;
-
-       pSMB->TotalParameterCount = 0 ;
-       pSMB->TotalDataCount = 0;
-       pSMB->MaxParameterCount = cpu_to_le32(2);
-       pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
-       pSMB->MaxSetupCount = 4;
-       pSMB->Reserved = 0;
-       pSMB->ParameterOffset = 0;
-       pSMB->DataCount = 0;
-       pSMB->DataOffset = 0;
-       pSMB->SetupCount = 4; /* single byte does not need le conversion */
-       pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_NOTIFY_CHANGE);
-       pSMB->ParameterCount = pSMB->TotalParameterCount;
-       if (notify_subdirs)
-               pSMB->WatchTree = 1; /* one byte - no le conversion needed */
-       pSMB->Reserved2 = 0;
-       pSMB->CompletionFilter = cpu_to_le32(filter);
-       pSMB->Fid = netfid; /* file handle always le */
-       pSMB->ByteCount = 0;
-
-       rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
-                        (struct smb_hdr *)pSMBr, &bytes_returned,
-                        CIFS_ASYNC_OP);
-       if (rc) {
-               cifs_dbg(FYI, "Error in Notify = %d\n", rc);
-       } else {
-               /* Add file to outstanding requests */
-               /* BB change to kmem cache alloc */
-               dnotify_req = kmalloc(
-                                               sizeof(struct dir_notify_req),
-                                                GFP_KERNEL);
-               if (dnotify_req) {
-                       dnotify_req->Pid = pSMB->hdr.Pid;
-                       dnotify_req->PidHigh = pSMB->hdr.PidHigh;
-                       dnotify_req->Mid = pSMB->hdr.Mid;
-                       dnotify_req->Tid = pSMB->hdr.Tid;
-                       dnotify_req->Uid = pSMB->hdr.Uid;
-                       dnotify_req->netfid = netfid;
-                       dnotify_req->pfile = pfile;
-                       dnotify_req->filter = filter;
-                       dnotify_req->multishot = multishot;
-                       spin_lock(&GlobalMid_Lock);
-                       list_add_tail(&dnotify_req->lhead,
-                                       &GlobalDnotifyReqList);
-                       spin_unlock(&GlobalMid_Lock);
-               } else
-                       rc = -ENOMEM;
-       }
-       cifs_buf_release(pSMB);
-       return rc;
-}
-#endif /* was needed for dnotify, and will be needed for inotify when VFS fix */
 
        else if (server->sign)
                req->sync_hdr.Flags |= SMB2_FLAGS_SIGNED;
 
-       flags |= CIFS_NO_RESP;
+       flags |= CIFS_NO_RSP_BUF;
 
        iov[0].iov_base = (char *)req;
        iov[0].iov_len = total_len;
        if (smb3_encryption_required(tcon))
                flags |= CIFS_TRANSFORM_REQ;
 
-       flags |= CIFS_NO_RESP;
+       flags |= CIFS_NO_RSP_BUF;
 
        iov[0].iov_base = (char *)req;
        iov[0].iov_len = total_len;
        req->OplockLevel = oplock_level;
        req->sync_hdr.CreditRequest = cpu_to_le16(1);
 
-       flags |= CIFS_NO_RESP;
+       flags |= CIFS_NO_RSP_BUF;
 
        iov[0].iov_base = (char *)req;
        iov[0].iov_len = total_len;
        struct kvec rsp_iov;
        int resp_buf_type;
        unsigned int count;
-       int flags = CIFS_NO_RESP;
+       int flags = CIFS_NO_RSP_BUF;
        unsigned int total_len;
 
        cifs_dbg(FYI, "smb2_lockv num lock %d\n", num_lock);
        memcpy(req->LeaseKey, lease_key, 16);
        req->LeaseState = lease_state;
 
-       flags |= CIFS_NO_RESP;
+       flags |= CIFS_NO_RSP_BUF;
 
        iov[0].iov_base = (char *)req;
        iov[0].iov_len = total_len;
 
                return -EAGAIN;
 
        spin_lock(&server->req_lock);
-       if ((flags & CIFS_TIMEOUT_MASK) == CIFS_ASYNC_OP) {
+       if ((flags & CIFS_TIMEOUT_MASK) == CIFS_NON_BLOCKING) {
                /* oplock breaks must not be held up */
                server->in_flight++;
                *credits -= 1;
 
        iov[0].iov_base = in_buf;
        iov[0].iov_len = get_rfc1002_length(in_buf) + 4;
-       flags |= CIFS_NO_RESP;
+       flags |= CIFS_NO_RSP_BUF;
        rc = SendReceive2(xid, ses, iov, 1, &resp_buf_type, flags, &rsp_iov);
        cifs_dbg(NOISY, "SendRcvNoRsp flags %d rc %d\n", flags, rc);
 
                                                     flags & CIFS_LOG_ERROR);
 
                /* mark it so buf will not be freed by cifs_delete_mid */
-               if ((flags & CIFS_NO_RESP) == 0)
+               if ((flags & CIFS_NO_RSP_BUF) == 0)
                        midQ[i]->resp_buf = NULL;
 
        }
        if (rc < 0)
                goto out;
 
-       if ((flags & CIFS_TIMEOUT_MASK) == CIFS_ASYNC_OP)
-               goto out;
-
        rc = wait_for_response(ses->server, midQ);
        if (rc != 0) {
                send_cancel(ses->server, &rqst, midQ);