github.com/SagerNet/gvisor@v0.0.0-20210707092255-7731c139d75c/pkg/sentry/fs/fsutil/BUILD (about) 1 load("//tools:defs.bzl", "go_library", "go_test") 2 load("//tools/go_generics:defs.bzl", "go_template_instance") 3 4 package(licenses = ["notice"]) 5 6 go_template_instance( 7 name = "dirty_set_impl", 8 out = "dirty_set_impl.go", 9 imports = { 10 "memmap": "gvisor.dev/gvisor/pkg/sentry/memmap", 11 }, 12 package = "fsutil", 13 prefix = "Dirty", 14 template = "//pkg/segment:generic_set", 15 types = { 16 "Key": "uint64", 17 "Range": "memmap.MappableRange", 18 "Value": "DirtyInfo", 19 "Functions": "dirtySetFunctions", 20 }, 21 ) 22 23 go_template_instance( 24 name = "frame_ref_set_impl", 25 out = "frame_ref_set_impl.go", 26 imports = { 27 "memmap": "gvisor.dev/gvisor/pkg/sentry/memmap", 28 }, 29 package = "fsutil", 30 prefix = "FrameRef", 31 template = "//pkg/segment:generic_set", 32 types = { 33 "Key": "uint64", 34 "Range": "memmap.FileRange", 35 "Value": "uint64", 36 "Functions": "FrameRefSetFunctions", 37 }, 38 ) 39 40 go_template_instance( 41 name = "file_range_set_impl", 42 out = "file_range_set_impl.go", 43 imports = { 44 "memmap": "gvisor.dev/gvisor/pkg/sentry/memmap", 45 }, 46 package = "fsutil", 47 prefix = "FileRange", 48 template = "//pkg/segment:generic_set", 49 types = { 50 "Key": "uint64", 51 "Range": "memmap.MappableRange", 52 "Value": "uint64", 53 "Functions": "FileRangeSetFunctions", 54 }, 55 ) 56 57 go_library( 58 name = "fsutil", 59 srcs = [ 60 "dirty_set.go", 61 "dirty_set_impl.go", 62 "file.go", 63 "file_range_set.go", 64 "file_range_set_impl.go", 65 "frame_ref_set.go", 66 "frame_ref_set_impl.go", 67 "fsutil.go", 68 "host_file_mapper.go", 69 "host_file_mapper_state.go", 70 "host_file_mapper_unsafe.go", 71 "host_mappable.go", 72 "inode.go", 73 "inode_cached.go", 74 ], 75 visibility = ["//pkg/sentry:internal"], 76 deps = [ 77 "//pkg/abi/linux", 78 "//pkg/context", 79 "//pkg/errors/linuxerr", 80 "//pkg/hostarch", 81 "//pkg/log", 82 "//pkg/safemem", 83 "//pkg/sentry/arch", 84 "//pkg/sentry/device", 85 "//pkg/sentry/fs", 86 "//pkg/sentry/kernel/time", 87 "//pkg/sentry/memmap", 88 "//pkg/sentry/pgalloc", 89 "//pkg/sentry/socket/unix/transport", 90 "//pkg/sentry/usage", 91 "//pkg/state", 92 "//pkg/sync", 93 "//pkg/syserror", 94 "//pkg/usermem", 95 "//pkg/waiter", 96 "@org_golang_x_sys//unix:go_default_library", 97 ], 98 ) 99 100 go_test( 101 name = "fsutil_test", 102 size = "small", 103 srcs = [ 104 "dirty_set_test.go", 105 "inode_cached_test.go", 106 ], 107 library = ":fsutil", 108 deps = [ 109 "//pkg/context", 110 "//pkg/hostarch", 111 "//pkg/safemem", 112 "//pkg/sentry/contexttest", 113 "//pkg/sentry/fs", 114 "//pkg/sentry/kernel/time", 115 "//pkg/sentry/memmap", 116 "//pkg/syserror", 117 "//pkg/usermem", 118 ], 119 )