so that iod wouldn't pause when the reply comes fast enough
to catch iod between smb_iod_recvall() and tsleep()
this gives nice performance boost for workloads with many synchronously
submitted transactions, like ls -lR
iod now doesn't need to wakeup periodically, so don't use any timeout
for its tsleep(); also use higher priority PSOCK instead of PWAIT
on error returns paths with parent still locked, which would
cause 'locking against myself' panic with nonrecursive lock
fixes problem where invalid share name would cause a panic
via smb_sm_lookup() -> smb_share_put()
many thanks to Matthias Drochner for pointing out easy way how to
trigger this problem
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
do not inline smb_iod_rqprocessed()
make smb_iod_sendall(), smb_iod_recvall() 'return' void - the return value
was always ignored
smb_iod_recvall(): turn an programming error condition check to KASSERT()
smb_iod_main(): g/c unused 'error' local
smb_iod_thread(): iod_p is assigned in smb_iod_create(), so just KASSERT()
it's correct here
- Fix -Wsign-compare warnings.
- Drop trailing white space.
- Since current sdstrategy() calls bounds_check_with_label() implicitly,
allow overwriting disklabel for RAW_PART in bounds_check_with_label().
- Also allow overwriting disklabel even for !RAW_PART if securelevel == 0
so that installboot(8) can write bootblock against 'a' partition.
- labelsector is at top of RAW_PART, not 'a' partition.
allow overwriting disklabel for RAW_PART in bounds_check_with_label().
- Also allow overwriting disklabel even for !RAW_PART if securelevel == 0
so that installboot(8) can write bootblock against 'a' partition.
- labelsector is at top of RAW_PART, not 'a' partition.
incorrectly bombed when the exclusive lock was help by different process
(*yuck*)
lockmgr() checks for 'locking against myself' type of locking problems itself,
so no need to do any additional checks
cache based on CPU id. write-through on PXA2[15]0 B2 stepping and
earlier. write-back on C0 and C1 stepping (a.k.a PXA2[15]5 A0)
options XSCALE_CACHE_WRITE_{THROUGH,BACK} can override it.
for other XScale CPUs than PXA2xx, XSCALE_CACHE_WRITE_THROUGH works
same as before.
Burge. Simon writes,
"Here's the patch that Grant and I have been using on a combinations of
architectures and both NetBSD 1.6 and -current.
"This is based on FreeBSD - look for
/* We have to do a magic PLX poke to enable interrupts */
in
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/wi/if_wi_pci.c
of segments to mark. However, this may be much more than lfs_nseg.
Originally this wasn't a big problem, since only the structures in the
diskblock were changed, but nowadays there's a mirror of the segflags
in the in-core superblock. This problem caused the code to walk
way past the end of that allocated area, causing memory corruption
in other kernel structures. So, use lfs_nseg as the maximum, as it should be.
While here, simplify the loop; it had become an obfuscated piece of
code overtime.
when the filesystem is unmounted, relocking the Ifile when its lock is
draining. (We can't use vfs_busy() since the process is sleeping for a
good long time.) Clean up / organize lfs.h, while I'm here.
In lfs_update_single, assert that disk addresses are either negative, or
are still positive when converted to int32_t, to prevent recurrence of a
negative/positive block problem.
sure the chip implements 100T4 (in BMSR).
The 82562 (which doesn't implement 100T4) has the SCR_T4 bit
(always?) set, which led to wrong media status reports.
approved by thorpej
checking against nprocs is wrong in any case btw - we do allow
maxproc higher than number of current processes, it would just mean
no new process could be started until number of processes would
be lower than the new limit