Commit Graph

1500 Commits (master)

Author SHA1 Message Date
Aaron Jacobs d66bad8705 Unexport osxfuse-related code. 2016-10-16 08:56:48 +01:00
Aaron Jacobs 8b5caee575 Unexport OSXFUSEPaths. 2016-10-16 08:56:44 +01:00
Aaron Jacobs f1e482d155 Move osxfuse-specific config into mount_darwin.go. 2016-10-16 08:56:40 +01:00
Aaron Jacobs fc5bd98d65 Don't allow configurability for osxfuse paths.
There's no need to complicate the API. If osxfuse makes a
backwards-incompatible change again, we can add support for it.
2016-10-16 08:56:34 +01:00
Nemanja Zbiljić eadfaa0742 Support OSXFUSE 3.x, fall back to 2.x if needed
Also supports custom bundled OSXFUSE installs.
2016-09-25 18:07:29 +02:00
Aaron Jacobs 0b9db0a706 fuse: improve debug logging, including more inode and name info.
To aid in debugging GoogleCloudPlatform/gcsfuse#170.
2016-05-16 10:07:28 +10:00
Aaron Jacobs 652a72aae2 Return better errors from Mount, instead of dumping them to stderr.
For googlecloudplatform/gcsfuse#161.
2016-02-29 02:49:50 +00:00
Aaron Jacobs 2c0c70f477 Kill off silly fusermount screen scraping. 2016-02-29 02:47:56 +00:00
Aaron Jacobs 2e4cd6720b Add integration tests for mounting.
In particular TestNonEmptyMountPoint, which is currently failing on
Linux due to the poor error handling we inherited from
2016-02-29 02:45:24 +00:00
Aaron Jacobs 3da7af8c88 Restore TestNonEmptyMountPoint for Linux.
I had forgotten that we explicitly handle the "mount point doesn't
exist" case, so that wasn't tickling what I had hoped in fusermount.
2016-02-29 13:44:02 +11:00
Aaron Jacobs 035636830f Switch to a test that can pass on OS X, too.
It appears osxfuse is happy to mount over a non-empty directory.
2016-02-29 13:41:38 +11:00
Aaron Jacobs 8b7833ba01 TestNonEmptyMountPoint: clean up in the event of a successful mount. 2016-02-29 13:40:25 +11:00
Aaron Jacobs 38175a2e8b Fix minimalFS on OS X. 2016-02-29 13:38:01 +11:00
Aaron Jacobs 3d61726401 TestNonEmptyMountPoint 2016-02-29 02:36:18 +00:00
Aaron Jacobs 45795d4717 TestSuccessfulMount 2016-02-29 02:34:31 +00:00
Aaron Jacobs 608feace05 Add fusetesting.GetTimes.
This makes it easier to write integration tests for atime, ctime, and
mtime on both darwin and linux.
2016-01-11 10:27:55 +11:00
Aaron Jacobs 5595fe0920 Implement GetTimes for linux. 2016-01-10 23:27:28 +00:00
Aaron Jacobs 850146a678 Add GetTimes, implemented for darwin. 2016-01-11 10:26:22 +11:00
Aaron Jacobs 895b8c4155 Added support for mknod(2) and related calls to fuse_mknod.
For googlecloudplatform/gcsfuse#137.
2015-12-15 10:55:29 +11:00
Aaron Jacobs ab9f5b35ca Fixed a silly test bug. 2015-12-14 23:40:46 +00:00
Aaron Jacobs 67e4fbbc5f Added memFS.MkNode. 2015-12-14 23:40:13 +00:00
Aaron Jacobs 47638fa8c7 Added FileSystem support. 2015-12-14 23:35:40 +00:00
Aaron Jacobs f5dc8c356e Added conversion support. 2015-12-14 23:34:09 +00:00
Aaron Jacobs 15b31ee0ee Added MkNodeOp. 2015-12-14 23:30:42 +00:00
Aaron Jacobs 31e0f8e466 Added integration tests for googlecloudplatform/gcsfuse#137. 2015-12-15 10:15:48 +11:00
Aaron Jacobs 6afe951ee0 Fixed build errors. 2015-12-15 10:15:48 +11:00
Aaron Jacobs 4db81d4495 Pasted MknodTest from googlecloudplatform/gcsfuse@ff8a3f0. 2015-12-15 10:15:40 +11:00
Andrew Gaul 1dcc6791f0 Report physical blocks used
Tools like du and ls -l use this value to calculate the space used.
Force block size to 512 bytes for simplicity and compatibility with
Mac OS X which uses an older FUSE.
2015-10-22 18:57:08 -07:00
Aaron Jacobs bc664bf39b Allow the user to independently set block size and IO size.
On OS X we can't set block size above 2^17, but we want to encourage
users to send large reads and writes.

For GoogleCloudPlatform/gcsfuse#125.
2015-09-10 13:55:51 +10:00
Aaron Jacobs 246d37a0ba Updated Linux tests for the new behavior. 2015-09-10 03:54:29 +00:00
Aaron Jacobs 6565b52bcb Fixed the documentation to match reality on darwin. 2015-09-10 13:51:07 +10:00
Aaron Jacobs 33a476cafc Attempt to do what the documentation now says. 2015-09-10 13:43:12 +10:00
Aaron Jacobs 7c543380ea Add tests for the newly-documented behavior on Darwin. 2015-09-10 13:41:26 +10:00
Aaron Jacobs 81c3047f0f Revised the public StatFSOp docs for the BlockSize/IoSize split. 2015-09-10 13:31:04 +10:00
Aaron Jacobs e59a45f154 Added support for setting the OS X volume name.
While I was at it, added tests for fsname. I can't figure out how to
test the volume name.

For GoogleCloudPlatform/gcsfuse#125.
2015-09-09 23:07:07 +10:00
Aaron Jacobs aa1fe8b2de Added support for handling statfs(2) and friends.
File systems must now handle StatFSOp in order to mount correctly on

For GoogleCloudPlatform/gcsfuse#125.
2015-09-09 22:56:12 +10:00
Aaron Jacobs 57b4e8798f Fixed other tests on OS X. 2015-09-09 22:55:39 +10:00
Aaron Jacobs be680e1860 Fixed StatFSTest.CapacityAndFreeSpace on Linux. 2015-09-09 12:24:31 +00:00
Aaron Jacobs ca114f296a Fixed most tests on Linux. 2015-09-09 12:21:47 +00:00
Aaron Jacobs 56d0249304 Copied darwin-specific tests as linux-specific ones. 2015-09-09 12:16:44 +00:00
Aaron Jacobs 811100635f Isolated darwin-specific tests. 2015-09-09 22:13:58 +10:00
Aaron Jacobs 69c97c577e StatFSTest.UnsupportedBlockSizes 2015-09-09 22:10:37 +10:00
Aaron Jacobs c96d308a7a Set f_frsize, fixing free space calculation by `df` on OS X. 2015-09-09 22:04:10 +10:00
Aaron Jacobs 81a0bd26c3 Fixed some test bugs. 2015-09-09 21:50:37 +10:00
Aaron Jacobs 27a921775e Fixed file writing. 2015-09-09 21:45:28 +10:00
Aaron Jacobs 64cbdfea9a StatFSTest.WriteSize 2015-09-09 21:40:55 +10:00
Aaron Jacobs e2910a4dba StatFSTest.CapacityAndFreeSpace 2015-09-09 21:35:51 +10:00
Aaron Jacobs d5cd319abc Share code for canonicalizing the mount point. 2015-09-09 16:14:18 +10:00
Aaron Jacobs 55d02a11bf StatFSTest.Syscall_NonZeroValues 2015-09-09 16:12:12 +10:00
Aaron Jacobs 5b35935801 StatFSTest.Syscall_ZeroValues 2015-09-09 16:06:57 +10:00