{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1201108,"defaultBranch":"master","name":"go-fuse","ownerLogin":"hanwen","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-12-27T18:49:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/31547?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711628150.0","currentOid":""},"activityList":{"items":[{"before":"1a89ec9a883a473b8f21522e70e932a88820b74d","after":"cfac4dc473b0c2155bc6f878c7321b012a28215a","ref":"refs/heads/master","pushedAt":"2024-09-10T09:08:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: test tweaks\n\nChange-Id: I164d3a394cffbfe4b10bbdb5638bfc608ba08469","shortMessageHtmlLink":"fs: test tweaks"}},{"before":"6252a6647cb58ff2f0ce9783def00e351ae0b863","after":"1a89ec9a883a473b8f21522e70e932a88820b74d","ref":"refs/heads/master","pushedAt":"2024-09-09T12:32:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: share code between rawBridge.{ReadDirPlus,ReadDir}\n\nChange-Id: I00e7e45e9024085601702bcb918594248f8c3852","shortMessageHtmlLink":"fs: share code between rawBridge.{ReadDirPlus,ReadDir}"}},{"before":"4e71f87b0b3a1cac73c4c45c79fb527ea040504b","after":"6252a6647cb58ff2f0ce9783def00e351ae0b863","ref":"refs/heads/master","pushedAt":"2024-09-09T12:15:11.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: remove errno return from loopbackDirStream.load\n\nAny errors are stored and surfaced in calls to Next\n\nChange-Id: I37820f5869aa4dda3012aa4edb0e1b5776938a87","shortMessageHtmlLink":"fs: remove errno return from loopbackDirStream.load"}},{"before":"d606caa9d345f2b29894262f274be82a6df3266a","after":"4e71f87b0b3a1cac73c4c45c79fb527ea040504b","ref":"refs/heads/master","pushedAt":"2024-09-06T13:36:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"newunionfs: sort ReadDir result\n\nThe previous code tried to make the result deterministic (See commit\n74851f1f), by always having the largest name at the end. This would\nwork for simple hashtable. Go does not use this, as discussed in\nhttps://github.com/hanwen/go-fuse/issues/476#issuecomment-1594751105\n\nUse sort.Slice() to sort the entries by name.\n\nChange-Id: Ibf576b00a214e38aa6bcd6b64ee6b9844408e04a","shortMessageHtmlLink":"newunionfs: sort ReadDir result"}},{"before":"f84055521055d7e8c5894a68c5e33b5c89d54807","after":"d606caa9d345f2b29894262f274be82a6df3266a","ref":"refs/heads/master","pushedAt":"2024-09-05T10:41:46.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: terminate direntry with just a single 0\n\nChange-Id: Id9e3c62a3edb8fe7684e43c74ef49ad7cc7933c6","shortMessageHtmlLink":"fuse: terminate direntry with just a single 0"}},{"before":"1a7d98b0360f945fca50ac79905332b7106c049f","after":"f84055521055d7e8c5894a68c5e33b5c89d54807","ref":"refs/heads/master","pushedAt":"2024-09-04T18:48:07.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: add a TODO related to directory seeking\n\nChange-Id: Ib385bc2d7d6fe7e7fc933b446e2b2e79c0fcfd7b","shortMessageHtmlLink":"fs: add a TODO related to directory seeking"}},{"before":"4df83d578d7414f65e71c3ee544128046d768bce","after":"1a7d98b0360f945fca50ac79905332b7106c049f","ref":"refs/heads/master","pushedAt":"2024-08-29T10:29:49.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: skip passthrough test for older kernels\n\nChange-Id: I8e23afdfeb6ff65211f6ac3413e8e86e66341313","shortMessageHtmlLink":"fs: skip passthrough test for older kernels"}},{"before":"e0a0b09ae8287249c38033a27fd69a3593c7e235","after":"4df83d578d7414f65e71c3ee544128046d768bce","ref":"refs/heads/master","pushedAt":"2024-08-28T13:42:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: reorganize code\n\nChange-Id: I91a375cc2956b2ead0ad3a4a5b2a0c66a4c327e2","shortMessageHtmlLink":"fs: reorganize code"}},{"before":"17e279248239cc890c076d213eb8e6d0fd232571","after":"e0a0b09ae8287249c38033a27fd69a3593c7e235","ref":"refs/heads/master","pushedAt":"2024-08-28T10:20:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: support passthrough mode\n\nIf a returned file implements the FilePassthroughFder interface, we\ntry to register the file in the kernel.\n\nImplement this for loopbackFile, and test the behavior.\n\nFor benchmarking, use a single reader. With multiple readers, contents\nare served out of kernel cache, and do not reflect FUSE performance. \n\nBenchmark (CPU i5-8350U pinned at 2Ghz):\n\n$ go build -v && go test -run \"abc\" -bench '(Libfuse|FD)' --passthrough_hp ~/vc/libfuse/build/example/passthrough_hp -test.cpu=1\nBenchmarkGoFuseFDRead \t 27444\t 45997 ns/op\t1424.80 MB/s\t 87 B/op\t 1 allocs/op\nBenchmarkLibfuseHP \t 35377\t 32198 ns/op\t2035.43 MB/s\t 0 B/op\t 0 allocs/op\n\n$ go build -v && sudo go test -run \"abc\" -bench '(Libfuse|FD)' --passthrough_hp ~/vc/libfuse/build/example/passthrough_hp -test.cpu=1\nBenchmarkGoFuseFDRead \t 91788\t 11902 ns/op\t5506.23 MB/s\t 3 B/op\t 0 allocs/op\nBenchmarkLibfuseHP \t 100556\t 11831 ns/op\t5539.38 MB/s\t 0 B/op\t 0 allocs/op\n\nChange-Id: If8bde502a3450028f4d87ba61fa9c76ea3ea6c63","shortMessageHtmlLink":"fs: support passthrough mode"}},{"before":"64d88b16354409c69cbf720c8a62b0e77d0ed857","after":"17e279248239cc890c076d213eb8e6d0fd232571","ref":"refs/heads/master","pushedAt":"2024-08-27T16:30:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: fix printing of new constant\n\nEven trivial changes need testing (sigh).\n\nChange-Id: I1d009e97b51037544fc90392999587d2472ff13a","shortMessageHtmlLink":"fuse: fix printing of new constant"}},{"before":"549c0c9085bc32f39e5b0d7bf0d9378968b1ef5b","after":"64d88b16354409c69cbf720c8a62b0e77d0ed857","ref":"refs/heads/master","pushedAt":"2024-08-27T15:51:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: remove deprecated CAP_DIRECT_IO_RELAX\n\nThis is technically a backward incompatible change, but this feature\nis currently not supported.\n\nChange-Id: Ifcea9a337a06277f70a23eeee66db8d4b661b046","shortMessageHtmlLink":"fuse: remove deprecated CAP_DIRECT_IO_RELAX"}},{"before":"f0fd3eaf46f8c3b346afe846eb7f0dcf2d63c468","after":"549c0c9085bc32f39e5b0d7bf0d9378968b1ef5b","ref":"refs/heads/master","pushedAt":"2024-08-25T15:32:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: print tweaks for passthrough support\n\nChange-Id: I513d6344ff0d22649c240bbf31ef901dca70f4e2","shortMessageHtmlLink":"fuse: print tweaks for passthrough support"}},{"before":"2caa7fd48cc15f1975a3bf76205cad2e9fc13d33","after":"f0fd3eaf46f8c3b346afe846eb7f0dcf2d63c468","ref":"refs/heads/master","pushedAt":"2024-08-25T15:26:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: return fileEntry from registerFile and addNewChild\n\nAlso create a fresh fileEntry even if we reuse the file handle number.\n\nChange-Id: Ic3f37f8ad6d916f84b0dbcb8268f195161aac4ad","shortMessageHtmlLink":"fs: return fileEntry from registerFile and addNewChild"}},{"before":"50cd816449e9b23630b5743de5635aa29c5b4cba","after":"2caa7fd48cc15f1975a3bf76205cad2e9fc13d33","ref":"refs/heads/master","pushedAt":"2024-08-25T09:44:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"benchmark: add a test reading from libfuse passthrough_hp\n\npassthrough_hp is the high-performance loopback filesystem. By\nexercising it, we can distinguish between kernel bugs (shared between\ngo-fuse and libfuse) and go-fuse bugs.\n\nPassthrough mode does not work with iflag=direct, because\npassthrough_hp does not check if the file is marked \"directio\",\nassuming read() calls in passthrough mode are some kind of error.\n\nChange-Id: I2b6b4c943031e1a2864e15e5bf396aac28c63e31","shortMessageHtmlLink":"benchmark: add a test reading from libfuse passthrough_hp"}},{"before":"334a5a5fdb971e514a874c5e4dce6b833ebd783d","after":"50cd816449e9b23630b5743de5635aa29c5b4cba","ref":"refs/heads/master","pushedAt":"2024-08-25T07:17:40.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"benchmark: modernize setupFS\n\nChange-Id: I0dd07cf43fded2aa28ff83b2797e9222ae6e1295","shortMessageHtmlLink":"benchmark: modernize setupFS"}},{"before":"db8da281991c8a71c8393824878b436c3feec137","after":"334a5a5fdb971e514a874c5e4dce6b833ebd783d","ref":"refs/heads/master","pushedAt":"2024-08-23T13:00:01.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: update for kernel API version 40\n\nAdd definitions and print routines for FUSE_NO_EXPORT_SUPPORT,\nFUSE_NOTIFY_RESEND and FOPEN_PASSTHROUGH and associated fields.\n\nChange-Id: I5bd52c44a91484ac78ea5413cbd4bf5dc927501e","shortMessageHtmlLink":"fuse: update for kernel API version 40"}},{"before":"76685c7738e7b1207cc191a327cd1e20b1ba639a","after":"db8da281991c8a71c8393824878b436c3feec137","ref":"refs/heads/master","pushedAt":"2024-08-18T11:46:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: reserve fd without opening /dev/null\n\nThis enables using go-fuse in a init binary that is spawned directly from\nthe kernel.\n\nSee also https://github.com/hanwen/go-fuse/pull/525.\n\nChange-Id: Ibbaa04af993677536bd4ae8a173a5a6d93118940","shortMessageHtmlLink":"fuse: reserve fd without opening /dev/null"}},{"before":"fc0fdbf6a622bd76c1f8f7c3cd9a09617fbbefb2","after":"76685c7738e7b1207cc191a327cd1e20b1ba639a","ref":"refs/heads/master","pushedAt":"2024-08-16T11:37:13.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: do not set 0x8000 for LARGEFILE on mips64.\n\nmips64 uses 0x4000 for LARGEFILE. See also issue #514\t\n\nChange-Id: I46e83824f412131961318b16767bc05273fa2fbe","shortMessageHtmlLink":"fuse: do not set 0x8000 for LARGEFILE on mips64."}},{"before":"dd7ef76b89037475e1a6c7b257b9f5f59664312f","after":"fc0fdbf6a622bd76c1f8f7c3cd9a09617fbbefb2","ref":"refs/heads/master","pushedAt":"2024-05-29T21:26:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: TestStaleHardlinks: work around gvfsd-trash interference\n\ngvfsd-trash sets an inotify watch on mntDir and stat()s every file that is\ncreated, racing with the test logic.\n\nCreate our files in a subdir to avoid that, as gvfsd-trash does not monitor\nsubdirs.\n\nFixes: https://github.com/hanwen/go-fuse/issues/478\nChange-Id: I8e297a16af7fdd8b8c9574d456bbf43d36eddd67","shortMessageHtmlLink":"fs: TestStaleHardlinks: work around gvfsd-trash interference"}},{"before":"288b2028286addd33285a009dc077e2e538d0004","after":"dd7ef76b89037475e1a6c7b257b9f5f59664312f","ref":"refs/heads/master","pushedAt":"2024-05-18T15:48:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: avoid using unix.UTIME_OMIT on darwin\n\nChange-Id: I8f05010f64edaf1d41fdfca31ee4ae3079cd0ae3","shortMessageHtmlLink":"fs: avoid using unix.UTIME_OMIT on darwin"}},{"before":"ae8e01993341717fe354bc4ab15ff0a0da088688","after":"288b2028286addd33285a009dc077e2e538d0004","ref":"refs/heads/master","pushedAt":"2024-05-17T06:30:09.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: mark UtimeToTimespec as deprecated.\n\nChange-Id: Ib094e7e55f922780408223626d88388d2cc5f8b6","shortMessageHtmlLink":"fuse: mark UtimeToTimespec as deprecated."}},{"before":"90eabd702c26eaaf0d07ca57efd4df8e4b82ed45","after":"ae8e01993341717fe354bc4ab15ff0a0da088688","ref":"refs/heads/master","pushedAt":"2024-05-15T10:15:39.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"posixtest: fix test FcntlFlockSetLk\n\nThis test case is going to test whether the file lock works well on the\nsystem. It firstly adds a lock and then get the lock through syscalls.\nIt uses F_OFD_GETLK command of fcntl(2) to get the lock info on an\nopened file description[1], which is not defined on the FreeBSD. This\ncommit seperate the process of getting the information of lock for\ndifferent OSes, and mimic the behaviour of F_OFD_GETLK on FreeBSD.\n\n[1]: https://www.gnu.org/software/libc/manual/html_node/Open-File-Description-Locks.html\n\nChange-Id: I8abae0e7040fc667143eea028731e341be9b1baf","shortMessageHtmlLink":"posixtest: fix test FcntlFlockSetLk"}},{"before":"4dece6d7bbd91e1e4208f7799769f6895df79574","after":"90eabd702c26eaaf0d07ca57efd4df8e4b82ed45","ref":"refs/heads/master","pushedAt":"2024-04-14T12:37:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: separate integer conversion for different os\n\nChange-Id: I8ff8e8dc9431b5af52e3ca8e78f0da73cead9008","shortMessageHtmlLink":"fs: separate integer conversion for different os"}},{"before":"2901efa04e040ebe54a951bcea93d67ab1af1ad5","after":"4dece6d7bbd91e1e4208f7799769f6895df79574","ref":"refs/heads/master","pushedAt":"2024-04-12T09:43:57.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: fix hang under Darwin and FreeBSD when umount\n\nBoth FreeBSD and Darwin must use a single reader to access the FUSE device.\n\nChange-Id: I51c467bb0b8e1fda871665d033dd89d11fbe961c","shortMessageHtmlLink":"fuse: fix hang under Darwin and FreeBSD when umount"}},{"before":"36b359112698c1ccc5d5139693b92f62eb02477c","after":"2901efa04e040ebe54a951bcea93d67ab1af1ad5","ref":"refs/heads/master","pushedAt":"2024-03-28T12:18:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: fix accidental C code in comment\n\nThanks to https://github.com/likeazir for spotting this\n\nChange-Id: I0952482886cfadb23c723d89a64fd4ced1b57c92","shortMessageHtmlLink":"fs: fix accidental C code in comment"}},{"before":"e9e7c22af17af4611b5783a16458647088cc8dec","after":"36b359112698c1ccc5d5139693b92f62eb02477c","ref":"refs/heads/master","pushedAt":"2024-03-25T11:01:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: fix deadlock with parallel mounts\n\nCommit 1aa7b7b2a (\"fs: document known deadlocks\") describes a deadlock\nscenario where inheriting file descriptors triggers a spurious close\nduring subprocess setup, leading to deadlock.\n\nThis exact scenario actually happens when setting up the FUSE mount\nusing fusermount: the fusermount process inherits one half of a socket\npair, which is used to pass back the opened /dev/fuse file. After the\nmount is successful, we open a file in the FUSE mount for the poll\nhack. This means that in parallel scenarios, we may use fd 3 as the\npoll hack, while also calling fusermount with inherited file\ndescriptors.\n\nSolve this by grabbing fd 3 during initialization.\n\nThis is not completely foolproof, as FD 0, 1 and 2 could be closed\n(and then reused) after initialization finished, but this should be\nuncommon as 0, 1 and 2 are standard input/output/error.\n\nDoing it during the init phase means that we prevent deadlock for all\nusers that inherit single file descriptors.\n\nChange-Id: If5ac7c941f0ee2e13ca657c31d056a676eed3fde","shortMessageHtmlLink":"fuse: fix deadlock with parallel mounts"}},{"before":"cbb13ba8d29c65dd5661be449c56563edcb7f5a1","after":"e9e7c22af17af4611b5783a16458647088cc8dec","ref":"refs/heads/master","pushedAt":"2024-02-09T17:45:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: don't set flagname keyed by syscall.O_LARGEFILE\n\nOn amd64, syscall.O_LARGEFILE is 0x0, making it be ignored as a\nkey. However, the kernel always passes 0x8000 to the FUSE server for\nthe OPEN call.\n\nThe previous behavior causes crashes on 386, because the flagname is\nadded twice.\n\nChange-Id: Ibabcdfef4d90e4fa4d02963d45a4d4cf2cba1ea2","shortMessageHtmlLink":"fuse: don't set flagname keyed by syscall.O_LARGEFILE"}},{"before":"35021463a2a9adbcd94a071c27a326b40c1401a5","after":"cbb13ba8d29c65dd5661be449c56563edcb7f5a1","ref":"refs/heads/master","pushedAt":"2023-11-20T18:29:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fuse: parse socket control message using the standard library\n\nmake mount procedure cleaner by using standard library\nto parse socker control message\n\nChange-Id: Ic52f5a0e2ddda40e680e341e35fb9b4158ba3324","shortMessageHtmlLink":"fuse: parse socket control message using the standard library"}},{"before":"c1a4d6c4a7dfe1743433197d5616ec93c516e0ab","after":"35021463a2a9adbcd94a071c27a326b40c1401a5","ref":"refs/heads/master","pushedAt":"2023-11-13T16:25:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: support renameExchange in loopback for darwin\n\nTested on MacOS 14.2 (macfuse 4.5.0) and Ubuntu 20.04.2 (Linux 5.15.0)\n\nChange-Id: I3f4f92c2d2aa3f4fc3696b661fa3cb0e3b43282b","shortMessageHtmlLink":"fs: support renameExchange in loopback for darwin"}},{"before":"5b76a74a4c74a240060202296f0e173ede812667","after":"c1a4d6c4a7dfe1743433197d5616ec93c516e0ab","ref":"refs/heads/master","pushedAt":"2023-11-13T11:31:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hanwen","name":"Han-Wen Nienhuys","path":"/hanwen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31547?s=80&v=4"},"commit":{"message":"fs: describe one more deadlock scenario\n\nChange-Id: I43f09613acd119daefe64350a46f79d58b2e4b6a","shortMessageHtmlLink":"fs: describe one more deadlock scenario"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEsdPcDwA","startCursor":null,"endCursor":null}},"title":"Activity ยท hanwen/go-fuse"}