Skip to content
Snippets Groups Projects
  1. Jan 21, 2014
    • Nadav Har'El's avatar
      chdir(): Fix error path, and add test · 4ae8779e
      Nadav Har'El authored
      
      This patch fixes chdir() on a normal file, which used to succeed (!?),
      but now will fail as it should, with ENOTDIR.
      
      The patch also adds an exhaustive test for chdir's success and error cases.
      Before the latest chdir() patches, most of these tests would fail, and now
      all of them succeed.
      
      This test is standard C++ & Posix code, so it can be run also on Linux.
      This is important for verifing that whatever we expect from OSv, Linux
      really does the same.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      4ae8779e
    • Pekka Enberg's avatar
      build: Force version.h regeneration · d8530b6d
      Pekka Enberg authored
      
      Force version.h generation to make sure the version number matches the
      git version.  I noticed the problem after tagging v0.05-rc1 and noticing
      that OSv happily reported the same version even after applying patches.
      
      Use the special ".PHONY" target suggested by Tomek to avoid breakage
      from previous attempt that is documented in commit 996fdfde ('Revert
      "build: Force version.h generation"').
      
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      d8530b6d
  2. Jan 20, 2014
  3. Jan 17, 2014
  4. Jan 14, 2014
    • Nadav Har'El's avatar
      Move tests to a separate module · 4d0ed4c3
      Nadav Har'El authored
      
      Instead of always putting the tests into all images, this patch adds the
      option of putting them only in some of the images, by making them into a
      new module, modules/tests.
      
      The default image (images/default.py) continues to require the tests
      modules, so tests are included in the default image. Building with
      "make image=tests" makes an image with only the tests and nothing else.
      Other images (e.g., memcached, cassandra,...) currently do not require
      the tests module, so the generated image does will not include the tests.
      
      With this patch, "make image=memcached", for example, contains only the
      bare minimum needed for memcached, and the resulting qcow image is just
      18 MB, down from 69 MB when we included all the tests.
      
      Fixes #160
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      4d0ed4c3
    • Pekka Enberg's avatar
      Revert "build: Force version.h generation" · 996fdfde
      Pekka Enberg authored
      
      This reverts commit d914ee0d because it breaks
      the build:
      
        I'm trying to compile the latest source code from git HEAD and I'm heaving
        the following error:
      
        make -r -C build/release/ all
        make[1]: Entering directory `/home/eduardo/workspace/osv/build/release'
        make[1]: *** No rule to make target
        `/home/eduardo/workspace/osv/build/release/gen/include/osv/version.h',
        needed by `/home/eduardo/workspace/osv/build.mk'.  Stop.
        make[1]: *** Waiting for unfinished jobs....
          GEN gen/include/bits/alltypes.h
        make[1]: Leaving directory `/home/eduardo/workspace/osv/build/release'
        make: *** [all] Error 2
      
      Reported-by: default avatarEduardo Piva <efpiva@gmail.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      996fdfde
    • Nadav Har'El's avatar
      Makefile: remove unnecessary -lstdc++ · 2f9a889e
      Nadav Har'El authored
      
      Since our kernel includes the entirety of libstdc++, there's no point of
      specifying "-lstdc++" while linking shared objects (like tests and cpio.so):
      This "linking" doesn't actually do any linking, it just specifies that the
      libstdc++ library is needed, but we already have it, needed or not.
      
      The list of objects-needing-libstdc++ was not only unnecessary, but probably
      also out of date, since we stopped bothering to update it after libstdc++
      was added into the kernel.
      
      So this patch removes these -lstdc++ lines.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      2f9a889e
  5. Jan 13, 2014
  6. Jan 10, 2014
  7. Jan 08, 2014
  8. Jan 07, 2014
  9. Jan 03, 2014
  10. Jan 02, 2014
  11. Dec 20, 2013
  12. Dec 19, 2013
  13. Dec 18, 2013
    • Tomasz Grabiec's avatar
      Make BSD code use hardware atomics · 2e0c30f4
      Tomasz Grabiec authored
      
      Currently we use implementation from
      bsd/sys/cddl/compat/opensolaris/kern/opensolaris_atomic.c
      which is using global mutex.
      
      This showes up on wait profile of ZFS writes:
      
      (...)
         \-- 469.96 us (0.00%, #250) arc_do_user_evicts
             \-- 469.96 us (0.00%, #250) dbuf_do_evict
                 |-- 355.93 us (0.00%, #154) dbuf_destroy
      (...)
                 |   \-- 76.60 us (0.00%, #53) zrl_add
                 |                             atomic_cas_32
                 |                             lockfree_mutex_lock
                 |                             sched::thread::wait()
                 |
                 |-- 66.14 us (0.00%, #56) dbuf_clear
                 |                         zrl_add
                 |                         atomic_cas_32
                 |                         lockfree_mutex_lock
                 |                         sched::thread::wait()
                 |
                 \-- 47.89 us (0.00%, #40) dbuf_rele_and_unlock
                                           atomic_add_64_nv
                                           lockfree_mutex_lock
                                           sched::thread::wait()
      
      This patch switches to amd64 implementation.
      
      Signed-off-by: default avatarTomasz Grabiec <tgrabiec@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      2e0c30f4
    • Asias He's avatar
      virtio-scsi: Initial support · c7e560f1
      Asias He authored
      
      This adds initial virtio-scsi support. We have no scsi layer in osv, in
      this implementation virtio-scsi works directly with the bio layer. It
      translates BIO_READ, BIO_WRITE and BIO_FLUSH to SCSI CMD.
      
      Signed-off-by: default avatarAsias He <asias@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      c7e560f1
  14. Dec 16, 2013
  15. Dec 15, 2013
  16. Dec 12, 2013
  17. Dec 11, 2013
    • Pekka Enberg's avatar
      x64: Make page fault handler arch specific · 43491705
      Pekka Enberg authored
      
      Simplify core/mmu.cc and make it more portable by moving the page fault
      handler to arch/x64/mmu.cc.  There's more arch specific code in
      core/mmu.cc that should be also moved.
      
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      43491705
    • Amnon Heiman's avatar
      random: Separate device node from virtio-rng · 2752a285
      Amnon Heiman authored
      
      Separate /dev/random the virtio-rng driver and register virtio-rng as a
      HW RNG entropy source.
      
      Signed-off-by: default avatarAmnon Heiman <amnon@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      2752a285
    • Nadav Har'El's avatar
      Rename blacklisted tests · 4e4e191f
      Nadav Har'El authored
      
      Rename blacklisted tests, from tst-wake.cc et al. to misc-wake.cc.
      
      The different name will cause these tests not to be automatically run
      by "make check" - without needing the separate blacklist in test.py
      (which this patch deletes).
      After this patch, testrunner.so will also only run tests called tst-*,
      so will not run the misc-* tests.
      
      The misc-* tests can still be run manually, e.g.,
        run.py -e tests/misc-mutex.so
      
      In addition to the previously blacklisted tests, this patch "blacklists"
      (renames) a few additional tests which fail quickly, but test.py didn't
      know because they didn't use the word "fail". An example is tst-schedule.so,
      which existed immediately when not run on 1 vcpu. So this patch also
      renames it to misc-schedule.so, so "make check" or testrunner.so won't
      run this test.
      
      Note that after this patch, testrunner.so is a new way to run all tests,
      but it isn't working well yet because it still exposes new bugs that do not
      exist in the separate tests (depending on your view point, this might be
      considered a feature, not a bug, in testrunner.so...).
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      4e4e191f
  18. Dec 10, 2013
    • Nadav Har'El's avatar
      Fix wrong error codes in unlink(), rmdir() and readdir() · 86b5374f
      Nadav Har'El authored
      
      This patch fixes the error codes in four error cases:
      
      1. unlink() of a directory used to return EPERM (as in Posix), and now
         returns EISDIR (as in Linux).
      
      2. rmdir() of a non-empty directory used to return EEXIST (as in Posix)
         and now returns ENOTEMPTY (as in Linux).
      
      3. rmdir() of a regular file (non-directory) used to return EBADF
         and now returns ENOTDIR (as in Linux).
      
      4. readdir() of a regular file (non-directory) used to return EBADF
         and now returns ENOTDIR (as in Linux).
      
      This patch also adds a test, tst-remove.cc, for the various unlink() and
      rmdir() success and failure modes.
      
      Fixes #123.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      86b5374f
  19. Dec 09, 2013
  20. Dec 08, 2013
Loading