kernel, where it fixes race for PUFFS filesystems, but we need it again
in perfused since FUSE filesystems are allowed to reorder requests.
The huge issue is in the asyncrhonous SETATTR sent by fsync. It is
followed by a syncrhnous FSYNC, so if the filesystem does not reorder
requests, once the FSYNC returns, we are confident the SETATTR is done.
But since FUSE can reorder, we need to implement sync in perfused.
src/doc/BUILDING.mdoc, so those changes were lost when src/BUILDING
was regenerated in revision 1.94.
Now update src/doc/BUILDING.mdoc and regenerate src/BUILDING to
reinstate the lost changes. (I also edited one of the changes, to use
the phrase "space-separated list" for consistency with other parts of
the document.)
The original changes were:
----------------------------
revision 1.93
date: 2011/08/06 19:52:49; author: jnemeth; state: Exp; lines: +5 -0
Add description of MKKMOD, part of PR misc/45216
----------------------------
revision 1.92
date: 2011/01/29 16:56:26; author: jym; state: Exp; lines: +6 -4
Pass down INSTALLSETS variable to installsets target. Use :Q to escape
shell meta-characters, as the variable contains a list of sets, separated
by spaces.
$ ./build.sh -V INSTALLSETS="base etc" install=idir
should now work as expected.
Reviewed by apb@ on tech-toolchain.
----------------------------
guessing and adjusting access types.
While here, when we hit a read-access fault and reference the page, also mark
it for executable when its permissions permit it. Distinguising between the
two is neigh impossible as we need to guess/derive the access the process
tried to have to the memory: we dont know if its a read/write/exec try.
Also clean up some debug messages.
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.
Perhaps the author meant to check if it is already set and not allocated it
again to avoid memory leaks? Anyway make everything const back and delete
the unused code. Yes, this leaks the same way as before but it is
insignificant. If we want to save memory we could use bytes or even bits
instead of ints, and not allocate/initialize the same thing multiple times.