gvisor/pkg
Dean Deng b918d97850 Add reference counting utility to VFS2.
The utility has several differences from the VFS1 equivalent:
- There are no weak references, which have a significant overhead
- In order to print useful debug messages with the type of the reference-
  counted object, we use a generic Refs object with the owner type as a
  template parameter. In vfs1, this was accomplished by storing a type name
  and caller stack directly in the ref count (as in vfs1), which increases the
  struct size by 6x. (Note that the caller stack was needed because fs types
  like Dirent were shared by all fs implementations; in vfs2, each impl has
  its own data structures, so this is no longer necessary.)

Updates #1486.

PiperOrigin-RevId: 325271469
2020-08-06 11:40:03 -07:00
..
abi Internal change. 2020-08-04 08:49:02 -07:00
amutex
atomicbitops Automated rollback of changelist 303799678 2020-04-01 11:06:26 -07:00
binary
bits Misc fixes to make stat_test pass (almost) 2020-03-25 14:59:15 -07:00
bpf Remove various uses of 'whitelist' 2020-06-18 09:03:39 -07:00
buffer Implement splice(2) and tee(2) for VFS2. 2020-05-26 21:43:26 -07:00
cleanup Move Cleanup to its own package 2020-05-28 14:49:06 -07:00
compressio
context
control Standardize on tools directory. 2020-01-27 12:21:00 -08:00
cpuid Remove various uses of 'whitelist' 2020-06-18 09:03:39 -07:00
eventchannel Fix all printf formatting errors. 2020-04-08 10:14:34 -07:00
fd Standardize on tools directory. 2020-01-27 12:21:00 -08:00
fdchannel
fdnotifier Standardize on tools directory. 2020-01-27 12:21:00 -08:00
flipcall
fspath Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
gate
gohacks
goid
ilist Support for saving pointers to fields in the state package. 2020-06-23 23:34:06 -07:00
iovec fdbased: Vectorized write for packet; relax writev syscall filter. 2020-07-15 15:05:32 -07:00
linewriter Remove implicit dependencies for leaf packages. 2020-05-20 18:35:32 -07:00
log Remove implicit dependencies for leaf packages. 2020-05-20 18:35:32 -07:00
memutil Standardize on tools directory. 2020-01-27 12:21:00 -08:00
merkletree Add Generate method in merkletree 2020-06-11 13:33:09 -07:00
metric Sentry metrics updates. 2020-04-21 09:36:43 -07:00
p9
pool Move p9.pool to a separate package 2020-02-06 10:07:45 -08:00
procid Update Go version build tags 2020-05-29 15:44:07 -07:00
rand Actually wrap rand.Reader in bufio.Reader. 2020-03-20 17:02:13 -07:00
refs Add reference counting utility to VFS2. 2020-08-06 11:40:03 -07:00
refs_vfs2
safecopy Don't use REP string instructions in safecopy.memcpy. 2020-04-09 11:03:43 -07:00
safemem Ensure that safemem.BlockSeqOf(safemem.Block{}) produces an empty BlockSeq. 2020-03-04 14:30:27 -08:00
seccomp Remove various uses of 'whitelist' 2020-06-18 09:03:39 -07:00
secio Standardize on tools directory. 2020-01-27 12:21:00 -08:00
segment Implement gap tracking in the segment set. 2020-05-20 22:50:07 -07:00
sentry
shim Merge pull request #2672 from amscanne:shim-integrated 2020-07-13 16:10:58 -07:00
sleep Do not copy sleep.Waker 2020-07-12 17:22:08 -07:00
state Support for saving pointers to fields in the state package. 2020-06-23 23:34:06 -07:00
sync Do not copy sleep.Waker 2020-07-12 17:22:08 -07:00
syncevent Merge pull request #3460 from zhlhahaha:1927 2020-08-03 12:38:15 -07:00
syserr Add support for SO_ERROR to packet sockets. 2020-07-15 14:56:39 -07:00
syserror Add FUSE_INIT 2020-07-29 22:52:12 +00:00
tcpip Join IPv4 all-systems group on NIC enable 2020-08-06 01:32:21 -07:00
test Stop profiling when the sentry exits 2020-08-05 11:30:11 -07:00
unet Standardize on tools directory. 2020-01-27 12:21:00 -08:00
urpc Standardize on tools directory. 2020-01-27 12:21:00 -08:00
usermem Implement mmap for host fs in vfs2. 2020-05-19 13:46:42 -07:00
waiter