"Add a 3rd entry in the cache, which keeps the end position
from just before extending a file.
This has the desired effect of keeping the write speed constant."
And yes, that helps a lot copying large files... always at full speed
now. This closes my PR kern/30868 "Poor performance copying large files
on msdosfs".
Also remove a 2 if-statements testing the same condition, combine them.
All that from Rhialto, thank you very much.
For the benefit of linux emulation create a new minor device '2'
which is a ptmx with linux semantics. Linux changes the permissions
of the slave pty upon creation, not when grantpt(3) is called. The
glibc linux grantpt(3) checks that the pty is on ptyfs, and if it is,
it does nothing. To make use of this fix:
mknod /emul/linux/dev/ptmx c 165 2
chmod 666 /emul/linux/dev/ptmx
This is a lot simpler than copying a bunch of code and creating a
ptmx device just for the benefit of linux emulation.
for MASK_NO_SPACE_REGS. The assumption is that sr4-sr7 == process space
id, but we have sr7 = kernel space id (0). This was inherited from
OpenBSD.
If sr4-sr7 == process space id, then
ldw %r1(,%r2),%r3
and
ldw %r2(,%r1),%r3
are equivlent for all values of %r1 and %r2.
If the right compat stuff is in place we can change the space register
convention and turn MASK_NO_SPACE_REGS back on.
Split code to handle on-chip rtc into a separate driver
Eliminate all todr code from clock.c
Move __HAVE_GENERIC_TODR to sh3/include/types.h
Somehow I managed to forget to commit mmeye changes.
Pointed out by he@
schemas. Disk information and disk geometry are designed to replace
information currently conveyed to user space using struct disklabel.
- Add a dk_info member to struct disk; a reference to a disk information
dictionary. This dictionary is to be allocated and the reference stored
in struct disk by individual drivers.
- disk_detach0() will release dk_info if non-NULL.
- Convert the wd(4) driver to stash geometry and other disk properties
as the "disk-info" property in its properties dictionary. This needs
some cleanup, but will serve as an example of what to do with other
disk drivers.
"execute a command" ioctl that takes a dictionary as an argument
(specifying the command and arguments) and returns a dictionary
with the results (error code, optional error message, optional
result data).
- Define and implement a "get-properties" command for DRVCTLCOMMAND
that returns the properties dictionary of the specified device.
- Add a -p flag to drvctl(8) to fetch and display the properties of
the specified device.
This is a great example of how to use prop_dictionary_sendrecv_ioctl().
plist-based messages and to eliminate looping previously required to
receive a plist from the kernel:
- prop_dictionary_copyin_ioctl() and prop_dictionary_copyout_ioctl()
now take the cmd argument rather than the file open flag. The
read-ness or write-ness of an ioctl command is checked by these
routines to ensure that information is being passed to/from the
userland component properly.
- prop_dictionary_copyout_ioctl() now allocates the memory for the
XML plist on behalf of the userland component by way of uvm_mmap().
The XML plist is copied out to the newly-mapped anonymous region,
and the pointer returned via the plistref.
- prop_dictionary_recv_ioctl() is responsible for munmap()'ing the
region after parsing the XML plist into internal represenatation.
- A new prop_dictionary_sendrecv_ioctl() is added, allowing user space
code to send a dictionary to the kernel and receive one back as a
reply.
Update users of prop_kern for the API changes (Bluetooth).
This constitutes an ABI / protocol change -- but this will also be put
into NetBSD 4.0 so that the first proplib release will implement the new
scheme.
/var/log/messages file wich is most likely not interesting but the
regression test can work on every specified filingsystem by passing a file
on that filingsystem to it as argument.
It tests:
- initial position
- seeking absolute position
- seeking end
- seeking negative relative position
more can be added later.
instead of just vnode pointers. Fixes erroneous "does not match mounted
device" errors from mount(8) in the presence of MFS /dev, init.root, &c.
No objections on tech-kern.
to ffs_find_disk_blocks_ufs2() too. Except for data types the
code in the two functions is the same.
From the original commit message:
Add support for finding files on RAID partitions. This allows us to
add the block list of the 2nd stage boot loader to the 1st stage boot
loader when the partition is a RAID partition.
Briefly tested under 3.x/i386.