diff options
author | Steve French <sfrench@us.ibm.com> | 2005-08-24 17:10:36 -0700 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-08-24 17:10:36 -0700 |
commit | ff5dbd9ead0d82466cab8bdbdcbc9666707d328a (patch) | |
tree | a0ba466993aa0470fa86d942a6de3bf88fa1d5e1 /fs/cifs/cifssmb.c | |
parent | e2a98a7543696306346ba8302a8df6cedf20fdfc (diff) | |
download | lwn-ff5dbd9ead0d82466cab8bdbdcbc9666707d328a.tar.gz lwn-ff5dbd9ead0d82466cab8bdbdcbc9666707d328a.zip |
[CIFS] Change notify support part 2
Signed-off-by: Asser Ferno <asser@diku.dk>
Signed-off-by: Steve French <sfrench@us.ibm.com> and lightly modified
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, (struct smb_hdr *) pSMBr, &bytes_returned, -1); if (rc) { cFYI(1, ("Error in Notify = %d", rc)); + } else { + /* Add file to outstanding requests */ + dnotify_req = (struct dir_notify_req *) kmalloc( + sizeof(struct dir_notify_req), GFP_KERNEL); + 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->dentry = dentry; + dnotify_req->filter = filter; + dnotify_req->multishot = multishot; + spin_lock(&GlobalMid_Lock); + list_add_tail(&dnotify_req->lhead, &GlobalDnotifyReqList); + spin_unlock(&GlobalMid_Lock); } cifs_buf_release(pSMB); return rc; |