package(licenses = ["notice"]) # Apache 2.0 load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") load("//tools/go_generics:defs.bzl", "go_template_instance") load("//tools/go_stateify:defs.bzl", "go_stateify") go_stateify( name = "fs_state", srcs = [ "attr.go", "dentry.go", "dirent.go", "dirent_cache.go", "dirent_list.go", "dirent_state.go", "file.go", "file_overlay.go", "file_state.go", "filesystems.go", "flags.go", "inode.go", "inode_inotify.go", "inode_operations.go", "inode_overlay.go", "inotify.go", "inotify_event.go", "inotify_watch.go", "mock.go", "mount.go", "mount_overlay.go", "mount_state.go", "mounts.go", "overlay.go", "path.go", ], out = "fs_state.go", package = "fs", ) go_library( name = "fs", srcs = [ "attr.go", "context.go", "copy_up.go", "dentry.go", "dirent.go", "dirent_cache.go", "dirent_list.go", "dirent_state.go", "file.go", "file_operations.go", "file_overlay.go", "file_state.go", "filesystems.go", "flags.go", "fs.go", "fs_state.go", "inode.go", "inode_inotify.go", "inode_operations.go", "inode_overlay.go", "inotify.go", "inotify_event.go", "inotify_watch.go", "mock.go", "mount.go", "mount_overlay.go", "mount_state.go", "mounts.go", "offset.go", "overlay.go", "path.go", "restore.go", "save.go", "seek.go", "sync.go", ], importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/fs", visibility = ["//pkg/sentry:internal"], deps = [ "//pkg/abi/linux", "//pkg/amutex", "//pkg/ilist", "//pkg/log", "//pkg/p9", "//pkg/refs", "//pkg/sentry/arch", "//pkg/sentry/context", "//pkg/sentry/device", "//pkg/sentry/fs/lock", "//pkg/sentry/kernel/auth", "//pkg/sentry/kernel/time", "//pkg/sentry/limits", "//pkg/sentry/memmap", "//pkg/sentry/platform", "//pkg/sentry/uniqueid", "//pkg/sentry/usage", "//pkg/sentry/usermem", "//pkg/state", "//pkg/syserror", "//pkg/tcpip", "//pkg/tcpip/transport/unix", "//pkg/waiter", ], ) go_template_instance( name = "dirent_list", out = "dirent_list.go", package = "fs", prefix = "dirent", template = "//pkg/ilist:generic_list", types = { "Linker": "*Dirent", }, ) go_test( name = "fs_x_test", size = "small", srcs = [ "copy_up_test.go", "file_overlay_test.go", "inode_overlay_test.go", "mounts_test.go", ], deps = [ ":fs", "//pkg/sentry/context", "//pkg/sentry/context/contexttest", "//pkg/sentry/fs/ramfs/test", "//pkg/sentry/fs/tmpfs", "//pkg/sentry/usermem", "//pkg/syserror", ], ) go_test( name = "fs_test", size = "small", srcs = [ "dirent_cache_test.go", "dirent_refs_test.go", "file_test.go", "mount_test.go", "path_test.go", ], embed = [":fs"], deps = [ "//pkg/sentry/context", "//pkg/sentry/context/contexttest", ], )