Skip to content
Snippets Groups Projects
  1. Feb 05, 2014
  2. Feb 02, 2014
  3. Jan 29, 2014
  4. Jan 28, 2014
    • Glauber Costa's avatar
      xen: silence messages · 9253abbe
      Glauber Costa authored
      
      Xen boot is not totally silent. The devices usually print through
      device_printf, which right now is hooked at printf. Changing that to debugf
      already gets rid of most messages. However, netfront by itself manually prints
      some messages with printf. They are changed as well.
      
      Please note that the messages in netfront are changed directly to debug,
      instead to device_printfs as well. This is because although we just hook that
      to a printer, device_printf is supposed to prepend the messages with device
      information.  We don't do it now, but could do it in the future. That is why
      the original code used printf directly, and I am keeping that intent.
      
      Reviewed-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      9253abbe
  5. Jan 27, 2014
  6. Jan 23, 2014
    • Zhi Yong Wu's avatar
      network: fix compile error · 1d641f38
      Zhi Yong Wu authored
      
      BUILD SUCCESSFUL
      
      Total time: 35.396 secs
      make -r -C build/release/ all
      make[1]: Entering directory `/home/zwu/osv/build/release'
        CXX loader.o
        CXX runtime.o
        CXX drivers/vga.o
        CXX bsd/net.o
        CXX bsd/porting/networking.o
      /home/zwu/osv/bsd/porting/networking.cc: In function ‘int osv::if_set_mtu(std::string, u16)’:
      /home/zwu/osv/bsd/porting/networking.cc:43:32: error: missing braces around initializer for ‘char [16]’ [-Werror=missing-braces]
      cc1plus: all warnings being treated as errors
      make[1]: *** [bsd/porting/networking.o] Error 1
      make[1]: Leaving directory `/home/zwu/osv/build/release'
      make: *** [all] Error 2
      
      Signed-off-by: default avatarZhi Yong Wu <zwu.kernel@gmail.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      1d641f38
    • Raphael S. Carvalho's avatar
      zfs: Fix zfs_inactive on unlinked znode cases · 08290fd5
      Raphael S. Carvalho authored
      
      This patch addresses a corner-case in our zfs_inactive which can potentially
      leak a znode object.
      
      *** Some background on znode/zfs_inactive ***
      - Used to deallocate fs-specific data.
      
      - Before destroying the znode, a DMU transaction is created to sync the znode
      to the backing store *if* its z_atime_dirty is set (Not relevant to this
      patch though).
      
      - When removing a link, zfs_remove sets the field zp->z_unlinked of the
      underlying znode if the number of links reached 0 (Simply put, not present in
      the fs anymore).
      
      *** The problem ***
      The actual problem shows up when zfs_inactive is used on znodes with the
      unlinked field set.
      
      The code wrapped around by this patch was previously added to speed up the call
      to vrecycle, whose name partially explains itself. Its first functionality is
      to eliminate all activity associated to the vnode, then put the vnode back into
      a list of free vnodes.
      
      OSv VFS layer doesn't support vrecycle, but our zfs_inactive is acting as if it
      were supported. Another thing is that vrecycle call was also removed.
      
      *** Solution ***
      Let's fix this problem by simply wrapping around the test which prevented
      zfs_inactive from working properly on unlinked znodes, thus leaking references
      to the underlying mount point afterwards.
      
      The commentary added into zfs_inactive also explains why these changes are
      needed. It would also make things easier when people look at it in the future,
      and try to understand why things are the way they are.
      
      Reviewed-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarRaphael S. Carvalho <raphaelsc@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      08290fd5
    • Raphael S. Carvalho's avatar
      zfs: Fix znode reference count leaks · 76c0caa7
      Raphael S. Carvalho authored
      
      The zfs_remove() function calls zfs_dirent_lock, which in turn calls
      zfs_zget() which bumps up the underlying znode reference count once.
      
      However, neither zfs_remove() or zfs_rmdir() release the reference count
      after using it. This prevents zfs_zinactive() which is used to destroy
      the znode object from working properly. Another consequence is that each
      znode holds a reference to the underlying mount point, keeping it busy
      for unmount.
      
      Fix the znode refcnt by calling zfs_zinactive after znode usage.
      
      Reviewed-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarRaphael S. Carvalho <raphaelsc@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      76c0caa7
    • Dmitry Fleytman's avatar
      netfront: get IOCTL definitions from proper place · 75311f28
      Dmitry Fleytman authored
      
      There were 2 places with ioctl definitions, Xen netfront driver
      was compiled with IOCTL definitions from wrong place.
      
      Fixed by changing include and deleting file with improper definitions
      
      Signed-off-by: default avatarDmitry Fleytman <dmitry@daynix.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      75311f28
  7. Jan 22, 2014
  8. Jan 21, 2014
  9. Jan 20, 2014
  10. Jan 17, 2014
    • Dmitry Fleytman's avatar
      DHCP: Support MTU option · 69bf74a7
      Dmitry Fleytman authored
      
      This patch introduces support for MTU option as described in
      RFC2132, chapter 5.1. Interface MTU Option
      
      Amazon EC2 networking uses this option in some cases and it gives
      throughput improvement of about 250% on big instances with 10G networking.
      
      Netperf results for hi1.4xlarge instances, TCP_MAERTS test, OSv runs netserver:
      
      Send buffer size     Throughput w/ patch (Mbps)     Throughput w/o patch (Mbps)     Improvement (%)
      
      32                   4912.29                        1386.28                         254
      64                   4832.01                        1385.99                         249
      128                  4835.09                        1401.46                         245
      256                  4746.41                        1382.28                         243
      512                  4849.04                        1375.23                         253
      1024                 4631.8                         1356.69                         241
      2048                 4859.59                        1371.92                         254
      4096                 4864.99                        1383.67                         252
      8192                 4627.07                        1364.05                         239
      16384                4868.73                        1366.48                         256
      32768                4822.69                        1366.63                         253
      65536                4837.67                        1353.87                         257
      
      Signed-off-by: default avatarDmitry Fleytman <dmitry@daynix.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      69bf74a7
    • Zhi Yong Wu's avatar
      xen: Fix "error: unable to find tring literal operator" · 6b5b6696
      Zhi Yong Wu authored
      
      Total time: 30.77 secs
      make -r -C build/release/ all
      make[1]: Entering directory `/home/zwu/osv/build/release'
        CXX bsd/sys/xen/gnttab.o
      In file included from /home/zwu/osv/bsd/sys/xen/hypervisor.h:40:0,
                       from /home/zwu/osv/bsd/sys/xen/gnttab.cc:29:
      /home/zwu/osv/bsd/machine/xen/hypercall.h: In function ‘int HYPERVISOR_set_trap_table(const trap_info_t*)’:
      /home/zwu/osv/bsd/machine/xen/hypercall.h:146:9: error: unable to find string literal operator ‘operator"" STR’
      /home/zwu/osv/bsd/machine/xen/hypercall.h: In function ‘int HYPERVISOR_mmu_update(mmu_update_t*, unsigned int, unsigned int*, domid_t)’:
      /home/zwu/osv/bsd/machine/xen/hypercall.h:154:9: error: unable to find string literal operator ‘operator"" STR’
      /home/zwu/osv/bsd/machine/xen/hypercall.h: In function ‘int HYPERVISOR_mmuext_op(mmuext_op*, unsigned int, unsigned int*, domid_t)’:
      ......
      make[1]: *** [bsd/sys/xen/gnttab.o] Error 1
      make[1]: Leaving directory `/home/zwu/osv/build/release'
      make: *** [all] Error 2
      
      Reviewed-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarZhi Yong Wu <zwu.kernel@gmail.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      6b5b6696
    • Pekka Enberg's avatar
      vfs: 'struct file' to VOP_READ · 9f68c2d9
      Pekka Enberg authored
      
      Add 'struct file' to VOP_READ API. This is needed for procfs which
      generates file contents at open() time and read() must operate on it,
      not the vnode.
      
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      9f68c2d9
Loading