- Dec 09, 2013
-
-
Pekka Enberg authored
This reverts commit e4aad1ba. It causes tst-vfs.so to just hang. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Dec 08, 2013
-
-
Raphael S. Carvalho authored
Currently, namei() does vget() unconditionally if no dentry is found. This is wrong because the path can be a hard link that points to a vnode that's already in memory. To fix the problem: - Use inode number as part of the hash in vget() - Use vn_lookup() in vget() to make sure we have one vnode in memory per inode number. - Push the vget() calls down to individual filesystems and make VOP_LOOKUP return an vnode - Drop lock in vn_lookup() and assert that vnode_lock is held. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com> Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Dec 05, 2013
-
-
Pekka Enberg authored
OSv does not support xattrs in ZFS. Fix up a build breakage reported by Glauber: /home/ubuntu/osv/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c: In function ‘zfs_setattr’: /home/ubuntu/osv/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:2152:12: error: ‘xoap’ may be used uninitialized in this function [-Werror=uninitialized] Reported-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Probably the worst indented file in the whole tree. Set Eclipse Ctrl-I on it. Also fix a unicode character in the author's name. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Prior to 65ccda4c (net: use a file derived class for sockets (socket_file)), ioctl()s for socket were directed to linux_ioctl_socket() and thence to soo_ioctl(). However that commit short-circuited linux_ioctl_socket() out and dipatched directly to what was previously known as soo_ioctl() (and became socket_file::ioctl()). The caused interface enumeration ioctl()s to fail, for example in Cassandra. Fix by bringing back the previous behaviour. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Dec 04, 2013
-
-
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>
-
- Dec 03, 2013
-
-
Avi Kivity authored
The only caller, soo_close() can only be called from a context where no file references remain, so no further file API calls can be made. Remove it. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
falloc() is racy since it installs an uninitialized file in an accessible fd. Use falloc_noinstall() and fdalloc() instead; also fixes fd leaks on error. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
falloc() is racy since it installs an uninitialized file in an accessible fd. Use falloc_noinstall() and fdalloc() instead; also fixes an fd leak on error. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
falloc() is racy since it installs an uninitialized file in an accessible fd. Convert sys_close() to C++ and avoid the race; also fixes an fd leak in case of an error. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Asias He authored
Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Dec 02, 2013
-
-
Avi Kivity authored
Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Avi Kivity authored
Currently sys_open() receives an uninitialized file structure from its callers, which is awkward as the callers must handle opening a file in two steps. It also doesn't fit well with C++'s notion of an object being always fully initialized and valid. Fix by making sys_open() allocate and return the file structure. This also fixes a window in open() where an fd would point to an uninitialized file (between fdalloc() and sys_open()). Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
- Dec 01, 2013
-
-
Avi Kivity authored
Needed for C++ conversion. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
socketpair() stores temporary data in the field they're going to be copied into. Use a local instead. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Avi Kivity authored
We have an strange and incorrect 'struct file' definition for zfs, but a forward declaration is all that is needed. Remove the unsafe definition. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 28, 2013
-
-
Raphael S. Carvalho authored
The undefined reference error only shows up when building OSv on debug mode (mode=debug): bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.o: In function `zfs_setattr': bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:2529: undefined reference to `zfs_xvattr_set Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 27, 2013
-
-
Avi Kivity authored
As detailed in [1], SO_REUSEADDR means slightly different things on BSD and Linux. One of the differences is in the treatment of sockets that are bound to addresses already occupied by existing sockets in the TIME_WAIT state; Linux allows the new socket if SO_REUSEADDR is set on it, while BSD refuses. Adjust the code to match the Linux behaviour. This allows multiple connection tests to pass, and will likely be required by other network intensive applications. [1] http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t Signed-off-by:
Avi Kivity <avi@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 26, 2013
-
-
Raphael S. Carvalho authored
Attribute flags were moved from 'bsd/sys/cddl/compat/opensolaris/sys/vnode.h' to 'include/osv/vnode_attr.h' 'bsd/sys/cddl/compat/opensolaris/sys/vnode.h' now includes 'include/osv/vnode_attr.h' exactly at the place the flags were previously located. 'fs/vfs/vfs.h' includes 'include/osv/vnode_attr.h' as functions that rely on the setattr feature must specify the flags respective to the attr fields that are going to be changed. Approach sugested by Nadav Har'El Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Tested-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Raphael S. Carvalho authored
Signed-off-by:
Raphael S. Carvalho <raphaelsc@cloudius-systems.com> Tested-by:
Tomasz Grabiec <tgrabiec@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 11, 2013
-
-
Pekka Enberg authored
Use four spaces, not tabs for indentation. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
大谷津昂季 authored
do not need initialize variable. (or use memset(3) for zero clear.) Because set of values by ioctl(SIOCGIFFLAGS) ``` (snip) CC bsd/sys/kern/sys_socket.o CC bsd/sys/kern/subr_disk.o CC bsd/porting/route.o CXX bsd/porting/networking.o ../../bsd/porting/networking.cc: In function ‘int osv::ifup(std::string)’: ../../bsd/porting/networking.cc:99:30: 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/kouki-o/work/kaishuu0123-osv/build/release' make: *** [all] Error 2 (snip) ``` Signed-off-by:
Kouki Ooyatsu <kaishuu0123@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Dmitry Fleytman authored
Current limit of fragments number for IP packet is 16. This is not enough for packets bigger than 24K on standard MTU. This patch increases this number up to theoretical maximum. The problem found during UDP RX performance testing - throughput dropped to 0 for 32K UDP packets. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 08, 2013
-
-
Takuya ASADA authored
This patch adds to support multiple NIC initialization on loader.cc. Signed-off-by:
Takuya ASADA <syuu@dokukino.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Nov 01, 2013
-
-
Anatol Pomozov authored
It is needed for systems where python points to python3 Signed-off-by:
Anatol Pomozov <anatol.pomozov@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 28, 2013
-
-
Pekka Enberg authored
Spotted by GCC with '-Wformat=1': ../../bsd/sys/netinet/tcp_subr.c: In function ‘tcp_log_addr’: ../../bsd/sys/netinet/tcp_subr.c:2286:3: warning: unknown conversion type character ‘b’ in format [-Wformat=] sprintf(sp, " tcpflags 0x%b", th->th_flags, PRINT_TH_FLAGS); ^ ../../bsd/sys/netinet/tcp_subr.c:2286:3: warning: too many arguments for format [-Wformat-extra-args] BSD has some nice printf extension for printing out bitfields. We don't so switch to hexadecimal output. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 24, 2013
-
-
Or Cohen authored
OpenSolaris version of strftime accepts (char *)0 as format, and translates it to the locale default, which is the same as "%c" for strftime(). http://www.unix.com/man-page/opensolaris/3/strftime/ Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
- Oct 23, 2013
-
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
m_print() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
ether_sprintf() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 22, 2013
-
-
Tomasz Grabiec authored
When building with -O0 we get: bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.o: In function `zfs_ioc_destroy_snaps_nvl': (...)/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:3265: undefined reference to `zvol_remove_minor' Looks like the problem is that the missing symbol, `zvol_remove_minor', referenced from zfs_ioctl.o is not in the zvol.o because it's not defined, because it is inside '#ifdef NOTYET' block (which is off). It works in the normal build because when compiled with -O2 (and even with -O1), the reference to zvol_remove_minor in zfs_ioctl.c is optimized away. This patch puts the block using zvol_remove_minor also inside '#ifdef NOTYET' to be consistent. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
- Oct 20, 2013
-
-
Dmitry Fleytman authored
FreeBSD networking code limits IP datagram size by IP_MAXPACKET which is exactly 64K. This calculation doesn't take into account Ethernet header length and may generate Ethernet packet longer than 64K. Such a packet cannot be processed properly by some devices (Xen netback) and being dropped. This patch fixes this corner case for all supported IP protocols. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-
Dmitry Fleytman authored
This patch fixes part of TCP instability/low throughput problems on Xen. On transmit networking stack passes to Xen netfront driver a list of mbufs of up to PAGE_SIZE (4096) bytes each. In case the list consists of more than MAX_TX_REQ_FRAGS (18) fragments driver tries to defragment it with m_defrag(). m_defrag() in turn tries to build list of buffers of up to MCLBYTES (2048) bytes each. This leads to even longer chain and packet being dropped. As a result around 1% of TCP segments are lost and intensive TCP retransmissions and slowdowns occur. This patch makes m_defrag() use Jumbo packets zone for allocation, i.e. PAGE_SIZE per mbuf. This patch is pretty similar to what Glauber done on RX path before. Signed-off-by:
Dmitry Fleytman <dmitry@daynix.com>
-