Bug 27598

Summary: netsmb can't be kldloaded in SMP environment
Product: Base System Reporter: Dan Lukes <dan>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-STABLE   
Hardware: Any   
OS: Any   

Description Dan Lukes 2001-05-23 21:50:01 UTC
        when I use kldload smbfs, the following messages appear on console:
---------
error: module compiled without SMP support
netsmb_dev: unloaded
module_register_init: MOD_LOAD (dev_netsmb, c0c251a0, 0) error 1
error: module compiled without SMP support
---------

        despite of it, smbfs is loaded

Fix: 

I'm not sure about correct fix, because I'm not sure if netsmb
and/or smbfs is SMP sensitive and SMP ready.

        sys/netsmb/smb_dev.c call the smb_checksmp() which is implemented
        in sys/netsmb/smb_subr.c
        smb_subr.c use SMP variable (#define), but doesn't #include
opt_global.h where SMP is defined

	No file in sys/netsmb nor sys/fs/smbfs seems to contain a SMP specific
code other than (ever failing) test (there are no code using number of CPU's
nor ifdef-ed with SMP variable).

	So, there are three posibilities:
1. netsmb/smbfs isn't SMP sensitive 
  - lets completelly remove redundant test
2. netsmp/smbfs is SMP sensitive, but not SMP ready 
  - lets change error message to something more true
3. netsmp/smbfs is SMB sensitive and is SMP ready (and I miss something)
  - lets include opt_global.h to (at least) smb_subr.c 
  it give chance to test to work properly
How-To-Repeat: 	see environment and description
Comment 1 Boris Popov freebsd_committer freebsd_triage 2001-05-30 10:07:11 UTC
State Changed
From-To: open->closed

-stable does not provide mechanims to build SMP safe KLDs. To work with smbfs 
on SMP machine one have to compile it in the kernel. 
Bug in the KLD subsystem is unrelated and will be fixed separately.