Age | Commit message (Collapse) | Author |
|
|
|
In VFS1's overlayfs, files use the device and inode number of the lower layer
inode if one exists, and the upper layer inode otherwise. The former behavior
is inefficient (requiring lower layer lookups even if the file exists and is
otherwise wholly determined by the upper layer), and somewhat dangerous if the
lower layer is also observable (since both the overlay and lower layer file
will have the same device and inode numbers and thus appear to be the same
file, despite being behaviorally different). VFS2 overlayfs imitates Linux
overlayfs (in its default configuration) instead; it always uses the inode
number from the originating layer, but synthesizes a unique device number for
directories and another device number for non-directory files that have not
been copied-up.
As it turns out, the latter is insufficient (in VFS2, and possibly Linux as
well), because a given layer may include files with different device numbers.
If two distinct files on such a layer have device number X and Y respectively,
but share inode number Z, then the overlay will map both files to some private
device number X' and inode number Z, potentially confusing applications. Fix
this by assigning synthetic device numbers based on the lower layer's device
number, rather than the lower layer's vfs.Filesystem.
PiperOrigin-RevId: 339300341
|
|
|
|
Updates #3921
PiperOrigin-RevId: 339195417
|
|
|
|
PiperOrigin-RevId: 339182848
|
|
|
|
PiperOrigin-RevId: 339182137
|
|
|
|
PiperOrigin-RevId: 339166854
|
|
|
|
Also change verity test to use a context with an active task. This is
required to delete/rename the file in the underlying file system.
PiperOrigin-RevId: 339146445
|
|
|
|
Much like the VFS2 gofer client, kernfs too now caches dentries. The size of the
LRU cache is configurable via mount options.
Have adopted the same reference semantics from gofer client dentry.
Only sysfs and procfs use this LRU cache. The rest of the kernfs users (devpts,
fusefs, host, pipefs, sockfs) still use the no cache approach.
PiperOrigin-RevId: 339139835
|
|
|
|
Control messages collected when peeking into a socket were being leaked.
PiperOrigin-RevId: 339114961
|
|
|
|
This splits the nogo rules into a separate configuration yaml file, and
allows for multiple files to be provided.
Because attrs cannot be passed down to aspects, this required that all
findings are propagated up the aspect Provider. This doesn't mean that
any extra work must be done, just that this information must be carried
through the graph, and some additional starlark complexity is required.
PiperOrigin-RevId: 339076357
|
|
|
|
Add a parser binary for parsing files containing
Benchmark output and sending data to BigQuery.
PiperOrigin-RevId: 339066396
|
|
|
|
PiperOrigin-RevId: 338847417
|
|
|
|
Updates #1486.
PiperOrigin-RevId: 338832085
|
|
|
|
|
|
PiperOrigin-RevId: 338805321
|
|
Fixes #4427, #4428
PiperOrigin-RevId: 338805047
|
|
|
|
PiperOrigin-RevId: 338798433
|
|
|
|
Also let the Github bug reviver detect both in TODOs.
PiperOrigin-RevId: 338785089
|
|
|
|
PiperOrigin-RevId: 338784921
|
|
|
|
PiperOrigin-RevId: 338780793
|
|
|
|
Inode number consistency checks are now skipped in save/restore tests for
reasons described in greatest detail in StatTest.StateDoesntChangeAfterRename.
They pass in VFS1 due to the bug described in new test case
SimpleStatTest.DifferentFilesHaveDifferentDeviceInodeNumberPairs.
Fixes #1663
PiperOrigin-RevId: 338776148
|
|
|
|
|
|
|
|
Handle "Resource temporarily unavailable" EAGAIN errors with a select
call before calling recvmsg.
Also rename similar helper call from "RecvMsgTimeout" to "RecvTimeout",
because it calls "recv".
PiperOrigin-RevId: 338761695
|
|
This caused test flakes.
PiperOrigin-RevId: 338758723
|
|
PiperOrigin-RevId: 338756277
|
|
|
|
There are too many dependencies.
PiperOrigin-RevId: 338746264
|
|
|
|
PiperOrigin-RevId: 338739277
|
|
|
|
|