diff options
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r-- | fs/cifs/cifssmb.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 698cdcebca04..36d45b1dffc2 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -4015,6 +4015,22 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon, | |||
4015 | (struct smb_hdr *) pSMBr, &bytes_returned, -1); | 4015 | (struct smb_hdr *) pSMBr, &bytes_returned, -1); |
4016 | if (rc) { | 4016 | if (rc) { |
4017 | cFYI(1, ("Error in Notify = %d", rc)); | 4017 | cFYI(1, ("Error in Notify = %d", rc)); |
4018 | } else { | ||
4019 | /* Add file to outstanding requests */ | ||
4020 | dnotify_req = (struct dir_notify_req *) kmalloc( | ||
4021 | sizeof(struct dir_notify_req), GFP_KERNEL); | ||
4022 | dnotify_req->Pid = pSMB->hdr.Pid; | ||
4023 | dnotify_req->PidHigh = pSMB->hdr.PidHigh; | ||
4024 | dnotify_req->Mid = pSMB->hdr.Mid; | ||
4025 | dnotify_req->Tid = pSMB->hdr.Tid; | ||
4026 | dnotify_req->Uid = pSMB->hdr.Uid; | ||
4027 | dnotify_req->netfid = netfid; | ||
4028 | dnotify_req->dentry = dentry; | ||
4029 | dnotify_req->filter = filter; | ||
4030 | dnotify_req->multishot = multishot; | ||
4031 | spin_lock(&GlobalMid_Lock); | ||
4032 | list_add_tail(&dnotify_req->lhead, &GlobalDnotifyReqList); | ||
4033 | spin_unlock(&GlobalMid_Lock); | ||
4018 | } | 4034 | } |
4019 | cifs_buf_release(pSMB); | 4035 | cifs_buf_release(pSMB); |
4020 | return rc; | 4036 | return rc; |