- Oct 11, 2013
-
-
Pekka Enberg authored
As of commit a449b889 ("x64: Enable sleeping in fault context") it's now safe for another thread to enter a fault handler on the same CPU. Fix exception guard to reflect that. This is needed for demand paging where a page fault from another thread can happen on the same CPU where a thread is sleeping in the page fault handler. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dinakar Guniguntala authored
Noticed a minor bug in the OSv dlfcn implementation. According to the linux man pages, dladdr returns non-zero on success and zero on error -> http://linux.die.net/man/3/dladdr Signed-off-by:
Dinakar Guniguntala <dino@linux.vnet.ibm.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 10, 2013
-
-
Avi Kivity authored
We want to tweak the include order for solaris (solaris -> bsd -> osv) compared to osv (osv -> bsd) or bsd (bsd -> osv), so put these includes in their own variable which can be nulled out. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Add some required solaris types. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
We have _KERNEL defines scattered throughout the code, which makes understanding it difficult. Define it just once, and adjust the source to build. We define it in an overridable variable, so that non-kernel imported code can undo it.
-
Avi Kivity authored
Imported from FreeBSD 245655, no changes. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Import FreeBSD files, changeset 245655. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Imported with no change from FreeBSD 245655. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Imported with no change from FreeBSD 245655. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
vfs mount/unmount related functionality. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Iterate over all inodes, droping directory entries and vnodes belonging to the mount point. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
In order to unmount, we need to drop all vnodes on a mount point, so we need to find all directory entries pointing to them. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Similar to /etc/mnttab, but without going through the file system. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
nmount() is a mount variant that works with key/value pairs to provide options. Implement it for osv. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
zfs interprets the device parameter as a pool name, so don't insist on opening it as a device. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Partition table fixes. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
The partition offset can be > 32 bits, so allow for it in the calculation. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
head=254 is legal, and the check also assumes that heads=255, which is not a given. Remove the check and trust the LBA. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Partitions table entries with cyl=0 or head=0 are legal, avoid false positives. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Some vfs fixes needed for mkfs; already posted as part of the mkfs patchset. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Needed by libzfs. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
open()'s prototype is traditionally open(const char*, int, ...) since the third mode_t parameter is optional, and only needed if O_CREAT is specified. Change the definition to conform. This allows the LFS64() macro to be used to define open64() with a similar prototype. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Make vget() accept a const char*, and adjust various other functions that it calls in the same way. This makes it easier to convert vfs_mount.c to C++. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
For zfs. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
We store the flags in a different format than fcntl() expects; perform the needed conversions. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
The vfs converts the read/write flags from 0/1/2 (read-only/write-only/rw) to bit fields which are more easily testable. But in doing so it corrupts the other flags. Fix FFLAGS and OFLAGS to preserve those other flags. The test for a file that is not readable or writable is dropped, since it is impossible to fail. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Oct 09, 2013
-
-
Dmitry Fleytman authored
Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-
Pekka Enberg authored
Switch to size_t type for ->bio_bcount in struct bio and clean up virtio-blk signedness casts. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
command line option -b/--bridge added Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-
- Oct 08, 2013
-
-
Nadav Har'El authored
Some trivial changes to tst-loadbalance.so. In particular, this benchmark assumes it is run on two cpus, so don't do anything if that isn't true. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
Nadav Har'El authored
We had a different Linux version compiled into uname() (3.7.0) than we had compiled into other code (via <linux/version.h>). This patch makes them both pretend to be 3.7.0 - arbitrarily chosen as the current Linux version at the time OSv was created. The new code verifies with a static assertion that both files contain the same version, so if they diverge, uname.c will fail compilation. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Oct 07, 2013
-
-
Nadav Har'El authored
This patch adds a "osv runqueue" command to gdb, which shows the (sorted) run queue of each CPU. Note that the run queue does not include the thread currently running - just those which are ready to run. This command is useful for debugging the scheduler and load balancer, but is less generally useful than the "osv info threads" command, which lists all threads, specially marking those which are runnable as well as those which are running. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
Nadav Har'El authored
This patch begins to document OSv's native (non-Linux-compatible) C++ APIs using Doxygen. With doxygen, functions, classes, and other APIs are documented using comments inside the source code, similarly to the way Javadoc is used in the Java world. After this patch, running "doxygen" generates the documentation in HTML form (and also ugly ones in LaTeX...) in the "doxyout" directory. After running "doxygen" in the OSv top-level directory, open your browser to file://.../doxyout/html/index.html to view this documentation. This patch adds a doxygen configuration file, "Doxyfile", and documents three functions in the osv namespace: osv::halt(), osv::poweroff(), osv::halt(). The format of the resulting documentation is not perfect, but it's not as bad as I feared, and also the documentation doesn't uglify the code too much (it mainly impacts the header files), so I now believe it will better for us than writing man pages (an avenue which I explored previously). Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
Nadav Har'El authored
This patch adds interrupt (by default ctrl-C) and quit (by default ctrl-\) handling to the console driver, when the ISIG termios flag is enabled (and this patch enables this flag by default). The application can change these characters or disable ISIG with ioctls, exactly as in Unix. The ^C character sends a SIGINT to the (only) process, and ^\ sends SIGQUIT. By default both abort OSv, but when running Java we get a much more interesting SIGQUIT handler - it shows a trace of all running threads and other information. Note that our line-discipline code currently sits in the console driver (we do not have ptys yet), so it only applies to the console, not to SSH connections or the likes. Also note that by default (before the patch to issue #49), qemu will catch the ^C and ^\ and won't even pass them to OSv, so apply the patch to #49 (or change the interrupt or quit characters) to see this feature working. This patch relates to issue #53. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-