Commit Graph

22 Commits

Author SHA1 Message Date
jdolecek c2704241db add a comment on SMB packet PID purpose to smb_rq_new()
adjust the commented out code to be compilable, but keep using '1' as the PID
2003-04-08 21:10:33 +00:00
jdolecek dfc728f814 fix pasto in smb_rq_setcallback(), mistakely used SMBRQ_SLOCK() instead
of SMBRQ_SUNLOCK()
found during LOCKDEBUG PR kern/21067 hunt
2003-04-08 18:13:41 +00:00
jdolecek 1cd92a1660 use pools instead of malloc(9) for allocation of smb request structures
convert all code to use smb_{rq|t2}_alloc() instead of allocating
structures on stack, make smb_rq_init()/smb_t2_init() static and not
exported outside smb_rq.c
2003-04-07 19:35:39 +00:00
jdolecek b37f22dc9f add support for asynchronous execution of SMB requests:
* add receive hook - if set, this function is called when request is finished
* unstatic smb_rq_enqueue(), smb_rq_reply() so that code can use that
  independant of smb_rq_simple() et al
this is needed for NT DIRECTORY CHANGE NOTIFY SMB, since they typically
take very long to complete and we want to be able to use single kernel thread
to handle them all

add support for 'nowait' requests (flag SMBR_NOWAIT), which don't expect
and answer from server and are marked as 'processed' immediatelly
after they are sent to server - needed for NT CANCEL SMB
2003-04-07 11:23:02 +00:00
jdolecek e71b725363 we now use rqp->sr_timo for request timeout value, so don't
reset it in smb_rq_simple(); 5 ticks (vc_timo) would be generally
too small timeout anyway
2003-04-02 15:01:52 +00:00
jdolecek 95aaf6bde8 use callout for request timeout, so that it could expire independantly
of iod calling smb_iod_sendall()
g/c now unneeded request timeout expire check from smb_iod_sendall()

make it possible to override default request timeout - set timeout
value in smb_rq_init() to default value, caller can adjust the value
before calling smb_iod_sendrq(); value <=0  means no timeout
2003-03-30 11:58:17 +00:00
jdolecek f0b60803a5 fix pasto in smb_t2_request() - t2_flags use SMBT2_RESTART, not SMBR_RESTART 2003-03-24 07:51:04 +00:00
jdolecek 568fd88386 struct smb_rq diet - g/c unused structure members, and move some stuff
around to not waste space with alignment padding
2003-03-23 16:57:51 +00:00
jdolecek 4a53d44e24 md_get_uint16le() doesn't like NULL target; change to md_get_uint16() 2003-03-23 16:46:41 +00:00
jdolecek 3eecb88b32 smb_rq_reply():
* no need to use dummy variables for md_get_*(), just use NULL
* don't bother storing rpflags/rpflags2, it's not used anywhere
* g/c local variable rperror
2003-03-23 11:43:09 +00:00
jdolecek 3a7bb2ccf1 smb_rq_new(): use MB_MZERO instead of MB_MSYSTEM+dummy tzero[] 2003-03-23 08:30:37 +00:00
jdolecek 11c209aa83 prefix tsleep() wmesg with 'smb', rather than '90'
drop #ifndef __NetBSD__ msleep() code, it only obfuscates the code
2003-02-26 19:30:51 +00:00
jdolecek e1ea74dfac add __KERNEL_RCSID 2003-02-25 09:12:11 +00:00
jdolecek c672cc0379 make sure sr_bcount, sr_rqtid and sr_rquid are wrote in alignment-safe way
problem pointed out by Martin Husemann

while here, turn some checks/SMBERROR()s to #ifdef DIAGNOSTIC panic()s
2003-02-24 21:13:13 +00:00
jdolecek 9a9493a698 make M_SMBRQ static 2003-02-24 19:31:45 +00:00
jdolecek 7002819777 smb_rq_enqueue(): use classic plain interruptible sleep instead
of noniterruptible sleep + smb_proc_intr()
2003-02-21 19:52:58 +00:00
jdolecek 7fa45bf7b7 disable debug printf mistakely enabled in previous commit 2003-02-18 11:21:01 +00:00
jdolecek c77076376f smb_rq_bend(): s/htoles/htole16/
smb_rq_reply(): don't bother saving error from md_get_* call when it's ignored
2003-02-18 10:20:50 +00:00
thorpej b193480908 Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant.  Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
2003-02-01 06:23:35 +00:00
deberg f3b1291f2e resolve conflicts 2002-01-04 02:39:37 +00:00
lukem 4f2ad95259 add RCSIDs 2001-11-13 00:56:55 +00:00
deberg 3694227079 initial stab at SMB stack, needed for smbfs. originally for freebsd by
boris popov, first ported to 1.4 branch by Christian Limpach
<chris@nice.ch>.
2000-12-07 03:48:09 +00:00