Commit Graph

651 Commits (9ed0e374218969558008d63ef37fc03aeef0b5cf)

Author SHA1 Message Date
Aaron Jacobs ea53ba8488 Don't attempt to track atime. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 087f48cc72 Update mtime on write. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 77fee50b80 Tightened up time tests. 2015-03-06 05:35:43 +11:00
Aaron Jacobs ab18be2378 Refactored inode time tracking. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 62bda89ca9 MemFSTest.ModifyExistingFile_InRoot 2015-03-06 05:35:43 +11:00
Aaron Jacobs 3a2b0a6de4 MemFSTest.AppendMode 2015-03-06 05:35:43 +11:00
Aaron Jacobs b814416bb2 PosixTest.AppendMode 2015-03-06 05:35:43 +11:00
Aaron Jacobs b8ea62986f Dumped in posix tests. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 0377d675dd MemFSTest.CreateNewFile_InSubDir 2015-03-06 05:35:42 +11:00
Aaron Jacobs 96c65235b8 Implemented memFS.ReadFile. 2015-03-06 05:35:42 +11:00
Aaron Jacobs 4e169a0602 Implemented memFS.OpenFile. 2015-03-05 19:37:36 +11:00
Aaron Jacobs 26d91ad9d7 Fixed a broken invariant. 2015-03-05 19:36:09 +11:00
Aaron Jacobs 7bb6fe37d2 Added an invariant for inode size. 2015-03-05 19:35:32 +11:00
Aaron Jacobs 163b303731 Implemented memFS.WriteFile. 2015-03-05 19:33:10 +11:00
Aaron Jacobs fcf3be2896 PosixTest.ReadsPastEndOfFile 2015-03-05 19:26:24 +11:00
Aaron Jacobs 95a89e5302 PosixTest.WriteAtDoesntChangeOffset_AppendMode 2015-03-05 19:22:32 +11:00
Aaron Jacobs 49bead83fa PosixTest.WriteAtDoesntChangeOffset_NotAppendMode 2015-03-05 19:21:20 +11:00
Aaron Jacobs 0c5ea8464f PosixTest.WriteStartsPastEndOfFile 2015-03-05 19:18:34 +11:00
Aaron Jacobs 526ec9a968 PosixTest.WriteStartsAtEndOfFile 2015-03-05 19:18:18 +11:00
Aaron Jacobs 5dab658073 PosixTest.WriteOverlapsEndOfFile 2015-03-05 19:17:57 +11:00
Aaron Jacobs 541980129d Added some test names. 2015-03-05 19:10:25 +11:00
Aaron Jacobs e435f6916c Added test setup and tear-down code. 2015-03-05 19:08:48 +11:00
Aaron Jacobs 9fd18f53f4 Began on a test to help confirm posix file behavior. 2015-03-05 19:06:43 +11:00
Aaron Jacobs 87f8ec9ead MemFSTest.CreateNewFile_InRoot 2015-03-04 15:10:26 +11:00
Aaron Jacobs 9c585268b0 Performed a TODO. 2015-03-04 15:06:40 +11:00
Aaron Jacobs c9298a943a Implemented memFS.CreateFile. 2015-03-04 15:05:58 +11:00
Aaron Jacobs 1a975d9824 Declared some test names. 2015-03-04 15:03:44 +11:00
Aaron Jacobs 8fc315cf58 MemFSTest.CaseSensitive 2015-03-04 14:21:56 +11:00
Aaron Jacobs b2a8322aaa Fixed copyright notices. 2015-03-04 08:27:42 +11:00
Aaron Jacobs a956166291 Deleted MemFSTest.Rmdir_ReusesInodeID.
At least on OS X, the kernel doesn't relaibly send a Forget request
right after RmDir, even if the directory is not open. (This is contrary
to what the fuse low-level ops documentation says.) So there's no way to
reliably test this.
2015-03-03 16:14:37 +11:00
Aaron Jacobs eec88dd31a Disabled a test that cannot pass. 2015-03-03 15:15:58 +11:00
Aaron Jacobs 147be0630d Added tests for the Nlink field. 2015-03-03 15:04:49 +11:00
Aaron Jacobs 651984dc1a Only mark as unlinked in rmdir. 2015-03-03 14:56:55 +11:00
Aaron Jacobs 140bd18863 Fixed a silly test bug. 2015-03-03 14:54:22 +11:00
Aaron Jacobs 8d9962ee62 MemFSTest.Rmdir_OpenedForReading 2015-03-03 14:52:03 +11:00
Aaron Jacobs d8905b0d05 Deallocate removed directories. 2015-03-03 14:48:21 +11:00
Aaron Jacobs 3076da562e Fixed an inode invariants bug. 2015-03-03 14:45:39 +11:00
Aaron Jacobs 2773133448 MemFSTest.Rmdir_ReusesInodeID 2015-03-03 14:43:06 +11:00
Aaron Jacobs 01371975df Check for empty in rmdir. 2015-03-03 14:39:29 +11:00
Aaron Jacobs 98f868c319 MemFSTest.Rmdir_NonEmpty 2015-03-03 14:34:28 +11:00
Aaron Jacobs ea5370d6f1 MemFSTest.Rmdir_NonExistent 2015-03-03 14:33:20 +11:00
Aaron Jacobs 4d18942456 Re-use dirent gaps. 2015-03-03 14:31:15 +11:00
Aaron Jacobs 622d7a176b Preserve the offset invariant. 2015-03-03 14:30:14 +11:00
Aaron Jacobs 400d74dbdd Implemented inode.RemoveChild. 2015-03-03 14:29:49 +11:00
Aaron Jacobs 621df57d80 Refactored inode.LookUpChild. 2015-03-03 14:23:46 +11:00
Aaron Jacobs 57cb4ccda3 Outlined memFS.RmDir. 2015-03-03 11:28:41 +11:00
Aaron Jacobs 9f984e1aa6 Declared a test. 2015-03-03 11:12:50 +11:00
Aaron Jacobs baffc23ee6 MemFSTest.Rmdir_Empty 2015-03-03 11:09:36 +11:00
Aaron Jacobs 19f7ef25c9 Fixed permissions issues in memfs, making the package support doing so. 2015-03-03 11:08:34 +11:00
Aaron Jacobs 832e800f3b MemFSTest.Mkdir_PermissionDenied 2015-03-03 11:08:23 +11:00
Aaron Jacobs e46341ae00 MemFSTest.Mkdir_TwoLevels 2015-03-03 11:07:24 +11:00
Aaron Jacobs a87e1b33cf Fixed permissions in MkDir. 2015-03-03 11:04:17 +11:00
Aaron Jacobs c81ae6d4b3 Fixed permissions for the root. 2015-03-03 11:03:03 +11:00
Aaron Jacobs 0fde07d9fe Fixed some build errors in hellofs. 2015-03-03 10:58:54 +11:00
Aaron Jacobs 44901edc6b Added a header with credentials to each request. 2015-03-03 10:58:01 +11:00
Aaron Jacobs 420fcddfac Fixed time-related metadata. 2015-03-03 10:48:26 +11:00
Aaron Jacobs f9e2e55ac8 Fixed some test bugs. 2015-03-03 10:41:30 +11:00
Aaron Jacobs 01878af39a Implemented timespecToTime. 2015-03-03 10:40:52 +11:00
Aaron Jacobs fa4c2fb864 Implemented two missing functions. 2015-03-03 10:40:04 +11:00
Aaron Jacobs 6b81f4ce58 Declared a two-level mkdir test. 2015-03-03 10:37:29 +11:00
Aaron Jacobs 605a52de92 Added better tests for statting new dirs. 2015-03-03 10:37:09 +11:00
Aaron Jacobs 17799d45a4 MemFSTest.Mkdir_IntermediateIsFile 2015-03-03 09:52:11 +11:00
Aaron Jacobs 5d63d207bb MemFSTest.Mkdir_IntermediateIsNonExistent 2015-03-03 09:50:31 +11:00
Aaron Jacobs 819d3ff73b MemFSTest.Mkdir_AlreadyExists 2015-03-03 09:49:41 +11:00
Aaron Jacobs fcbc1f761e Fixed mtime in mkdir. 2015-03-03 09:48:12 +11:00
Aaron Jacobs 5cf0f2b6bf Refactored newInode. 2015-03-03 09:47:36 +11:00
Aaron Jacobs bb1539e613 Fixed a test bug. 2015-03-03 09:42:36 +11:00
Aaron Jacobs fc7440e588 Fixed two bugs where ChildInodeEntry.Child was not filled in. 2015-03-03 09:41:45 +11:00
Aaron Jacobs 75a65d4a03 Fixed a locking bug. 2015-03-03 09:39:45 +11:00
Aaron Jacobs b6e50a1953 Implemented fs.allocateInode. 2015-03-03 09:39:01 +11:00
Aaron Jacobs d81d961c04 Implemented inode.AddChild. 2015-03-03 09:35:16 +11:00
Aaron Jacobs 2cf18ad9a5 Fixed some build errors. 2015-03-03 09:33:33 +11:00
Aaron Jacobs ea2038ef5e Wrote the skeleton for memFS.MkDir. 2015-03-03 09:30:25 +11:00
Aaron Jacobs 1f5f17b07e Began on memFS.MkDir. 2015-03-03 09:22:51 +11:00
Aaron Jacobs d88873bcd4 Refactored LookUpInodeResponse to share with MkDirResponse. 2015-03-02 16:16:20 +11:00
Aaron Jacobs c3298a7a6b Added an inode invariant. 2015-03-02 16:12:54 +11:00
Aaron Jacobs 902c5800e1 Fixed a permissions bug. 2015-03-02 16:05:14 +11:00
Aaron Jacobs b7eebb8070 Fixed a locking bug. 2015-03-02 16:04:21 +11:00
Aaron Jacobs aebfed4d03 Fixed a bug in newInode. 2015-03-02 16:03:44 +11:00
Aaron Jacobs 26ac02968d Implemented inode.checkInvariants. 2015-03-02 16:01:01 +11:00
Aaron Jacobs 0cbe7573fa Fixed a redundant check. 2015-03-02 15:55:32 +11:00
Aaron Jacobs 8d03662cde Finished inode.LookUpChild. 2015-03-02 15:55:26 +11:00
Aaron Jacobs 44b62ac9c3 Filled in some inode implementation. 2015-03-02 15:54:56 +11:00
Aaron Jacobs 830f272aab Refactored fs.go. 2015-03-02 15:50:34 +11:00
Aaron Jacobs e9d3dd9d5c Deleted memDir and memFile. 2015-03-02 15:36:29 +11:00
Aaron Jacobs 6d1146c42d Fixed a build error. 2015-03-02 15:36:13 +11:00
Aaron Jacobs 8c9b8c09e6 Redeclared the inode struct. 2015-03-02 15:35:44 +11:00
Aaron Jacobs 7922d064fa Implemented memFS.GetInodeAttributes. 2015-03-02 15:23:17 +11:00
Aaron Jacobs c44dffc34e Added a stub for inode.Attributes. 2015-03-02 15:20:29 +11:00
Aaron Jacobs 93ed47299e Implemented memDir.LookUpInode. 2015-03-02 15:19:20 +11:00
Aaron Jacobs a2c55f32d0 Implemented much of memFS.LookUpInode. 2015-03-02 15:18:23 +11:00
Aaron Jacobs d8355cb155 MemFSTest.Mkdir 2015-03-02 15:07:34 +11:00
Aaron Jacobs 79aa1c32d2 Added a bunch of test names. 2015-03-02 15:01:07 +11:00
Aaron Jacobs 5bedddbd7d Implemented memFS.ReadDir. 2015-03-02 14:52:29 +11:00
Aaron Jacobs 25a95e5074 Fixed a crash. 2015-03-02 14:45:14 +11:00
Aaron Jacobs a6223c2344 Implemented missing memDir methods. 2015-03-02 14:44:16 +11:00
Aaron Jacobs c38463a122 Fixed broken invariants at construction. 2015-03-02 14:40:28 +11:00
Aaron Jacobs 1b65aaf887 Refactored invariant checking. 2015-03-02 14:37:01 +11:00
Aaron Jacobs f26fdfc80c Implemented some of memFS.checkInvariants. 2015-03-02 14:27:40 +11:00
Aaron Jacobs 9d4fcebedf Implemented memFS.OpenDir. 2015-03-02 14:22:59 +11:00
Aaron Jacobs 2f98fdd29d Added a TODO. 2015-03-02 14:17:52 +11:00
Aaron Jacobs 0d7c207f85 Added a TODO. 2015-03-02 14:16:17 +11:00
Aaron Jacobs 2790095b6b Implemented Init. 2015-03-02 14:14:49 +11:00
Aaron Jacobs 6f93f4eba9 Implemented NewMemFS. 2015-03-02 14:14:02 +11:00
Aaron Jacobs 0c265d4161 MemFSTest.ContentsOfEmptyFileSystem 2015-03-02 14:12:02 +11:00
Aaron Jacobs 9fb1bc6bff Began on a memfs test. 2015-03-02 14:11:09 +11:00
Aaron Jacobs 3379842d1e Switched to an array of inodes for memfs, like a real file system. 2015-03-02 14:08:51 +11:00
Aaron Jacobs 23b398bc83 Added function stubs. 2015-03-02 14:00:48 +11:00
Aaron Jacobs 464201ae12 Fixed a build error. 2015-03-02 13:59:32 +11:00
Aaron Jacobs 0b7e54ef6b Moved the factory function. 2015-02-27 16:33:18 +11:00
Aaron Jacobs 3739cb6c3a Split up mem_fs.go. 2015-02-27 16:32:49 +11:00
Aaron Jacobs 9c6965487b Split up the samples package. 2015-02-27 16:31:04 +11:00
Aaron Jacobs c03718ca7b Started on an in-memory file system. 2015-02-27 16:30:22 +11:00
Aaron Jacobs e06c8f7790 HelloFSTest.Open_NonExistent 2015-02-27 16:07:47 +11:00
Aaron Jacobs 11a4a83b37 HelloFSTest.OpenAndRead 2015-02-27 16:07:13 +11:00
Aaron Jacobs 3cc0b9cb55 HelloFSTest.ReadFile_Dir 2015-02-27 15:58:14 +11:00
Aaron Jacobs ba8ebc7a52 HelloFSTest.ReadFile_World 2015-02-27 15:57:32 +11:00
Aaron Jacobs fe2f872382 Implemented HelloFS.ReadFile. 2015-02-27 15:57:06 +11:00
Aaron Jacobs 1d1fb83281 Implemented OpenFile. 2015-02-27 15:50:01 +11:00
Aaron Jacobs 3c768d4393 HelloFSTest.ReadFile_Hello 2015-02-27 14:56:57 +11:00
Aaron Jacobs 39d60191f7 HelloFSTest.Stat_NonExistent 2015-02-27 14:55:02 +11:00
Aaron Jacobs 54b7c34e8f HelloFSTest.Stat_World 2015-02-27 14:54:39 +11:00
Aaron Jacobs 4344afda0f HelloFSTest.Stat_Hello 2015-02-27 14:53:08 +11:00
Aaron Jacobs 7ed279d75b HelloFSTest.ReadDir_NonExistent 2015-02-27 14:44:03 +11:00
Aaron Jacobs 39e09d6bdb Allow opening other dirs. 2015-02-27 14:43:05 +11:00
Aaron Jacobs 985bd0ac2b Fixed permission errors. 2015-02-27 14:42:22 +11:00
Aaron Jacobs 070528d9e4 Implemented HelloFS.Init. 2015-02-27 14:40:32 +11:00
Aaron Jacobs 63b70540e3 Added an Init method. 2015-02-27 14:40:09 +11:00
Aaron Jacobs 99dca8b42c Refactored attribute patching. 2015-02-27 14:24:31 +11:00
Aaron Jacobs 820917579f HelloFSTest.ReadDir_Dir 2015-02-27 14:09:53 +11:00
Aaron Jacobs aa99b03e36 Fixed a test bug. 2015-02-27 14:09:14 +11:00
Aaron Jacobs 1750a271f5 Added time info. 2015-02-27 14:05:52 +11:00
Aaron Jacobs 5514405606 Added file sizes. 2015-02-27 14:03:38 +11:00
Aaron Jacobs 4380b9ba90 Fixed some test bugs. 2015-02-27 14:01:44 +11:00
Aaron Jacobs 54ae602a5c Added dir attributes. 2015-02-27 14:00:18 +11:00
Aaron Jacobs 1b3c0d1489 Implemented HelloFS.LookUpInode. 2015-02-27 13:56:51 +11:00
Aaron Jacobs 59855978e2 Added attributes for hello. 2015-02-27 13:52:43 +11:00
Aaron Jacobs 72e4ed930d Added a mode to inode attributes. 2015-02-27 13:44:51 +11:00
Aaron Jacobs 505b5cb326 Implemented HelloFS.GetInodeAttributes. 2015-02-27 13:37:21 +11:00
Aaron Jacobs 85d95b742c Added attributes for the root inode. 2015-02-27 13:36:20 +11:00
Aaron Jacobs e57dade603 Refactored HelloFS. 2015-02-27 13:35:16 +11:00
Aaron Jacobs 137b24614a Fixed a bug. 2015-02-27 12:38:27 +11:00
Aaron Jacobs 7b77e1d567 Define directory structure. 2015-02-27 12:37:26 +11:00
Aaron Jacobs 941a56eb0e Use int for ReadDirRequest.Size, matching slices. 2015-02-27 12:23:32 +11:00
Aaron Jacobs 03c295b02f First try at HelloFS.ReadDir. 2015-02-27 12:21:12 +11:00
Aaron Jacobs 3ee5ddb908 Defined inode IDs. 2015-02-27 11:55:00 +11:00
Aaron Jacobs 923b2e69ea Moved NotImplementedFileSystem to reduce clutter. 2015-02-27 09:59:51 +11:00
Aaron Jacobs 3a8a8855a1 Fixed a crash. 2015-02-27 09:56:57 +11:00
Aaron Jacobs 71a91b98f6 Updated HelloFS. 2015-02-27 09:56:27 +11:00
Aaron Jacobs 90ef75da6f Renamed package fuseutil -> fuse. 2015-02-27 08:57:18 +11:00
Aaron Jacobs 915afb6308 Imported without modification from github.com/jacobsa/gcsfuse/fuseutil.
At commit 90c8d87fe8701d2335671eb01cbc1d70f655c87f.

I'm splitting this out because it's large and more generally useful.
2015-02-27 08:54:16 +11:00