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