X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fcifs%2Ftransport.c;h=000ac509c98a32e884322149e88b53e4bdb2a4c1;hb=1df5a8d004f64b1aa3fb93e0556886ba00ebc979;hp=3612d6c0a0bbc1a4c9f64c2ce0f674517ce86d72;hpb=2f633928cbba8a5858bb39b11e7219a41b0fbef5;p=linux-2.6 diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index 3612d6c0a0..000ac509c9 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c @@ -142,6 +142,24 @@ void DeleteOplockQEntry(struct oplock_q_entry *oplockEntry) kmem_cache_free(cifs_oplock_cachep, oplockEntry); } + +void DeleteTconOplockQEntries(struct cifsTconInfo *tcon) +{ + struct oplock_q_entry *temp; + + if (tcon == NULL) + return; + + spin_lock(&GlobalMid_Lock); + list_for_each_entry(temp, &GlobalOplock_Q, qhead) { + if ((temp->tcon) && (temp->tcon == tcon)) { + list_del(&temp->qhead); + kmem_cache_free(cifs_oplock_cachep, temp); + } + } + spin_unlock(&GlobalMid_Lock); +} + int smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, unsigned int smb_buf_length, struct sockaddr *sin)