- 25 Jul, 2016 3 commits
-
-
Han-Wen Nienhuys authored
Use normal loopback for LargeWrite test, and move it into loopback_test.go Change-Id: I61c8186aea63f7bb6e591f1bcadcdad49e0866fe
-
Han-Wen Nienhuys authored
Change-Id: Id6edd71df1e623affbbc66b2d96b5c23aedd3fe0
-
Han-Wen Nienhuys authored
Check for kernel version before trying notify. Change-Id: I6b241dd53377d4aa43b109b981f3941d2ad8dbb4
-
- 22 Jul, 2016 1 commit
-
-
Han-Wen Nienhuys authored
The strategy was inspired by the mount code for Darwin in bazil.org/fuse. Unfortunately, OSX must have the event loop started before mounting can be completed. This means that WaitMount() must be maintained for use on OSX. Change-Id: Ie53425f306b4575b3e94e45407bab05017f5ce14
-
- 18 Jul, 2016 4 commits
-
-
Han-Wen Nienhuys authored
Change-Id: I6e17cd513f1a26110a36208f36d1a190675eb986
-
Han-Wen Nienhuys authored
Change-Id: I6a340b15a4876998616c7c16574b38531a9ba9c7
-
Han-Wen Nienhuys authored
Change-Id: I265108f96471b9b472c29c2d9fbbd1d4dd6b44d0
-
Han-Wen Nienhuys authored
Change-Id: I8eeddc02b1793fb546aa35f50c99b9e912d19123
-
- 13 Jul, 2016 2 commits
-
-
Han-Wen Nienhuys authored
Change-Id: Iec448c7b731893312a846f6b42c87c660b2399d6
-
Han-Wen Nienhuys authored
This ensures that the caller can access fsConnector.Server(), eg. to inspect the InitRequest or InitResponse. Change-Id: Ia09d77eae0f1af8bce46b07f386fdda20b2ccb95
-
- 12 Jul, 2016 2 commits
-
-
Han-Wen Nienhuys authored
sync.Pool is safe for concurrent use. Change-Id: I013f391fea9ed218e6bd4529fd2f62de75735bff
-
Han-Wen Nienhuys authored
Change-Id: Idddaef2216c2fd216476da8744efcda679f12dd6
-
- 11 Jul, 2016 1 commit
-
-
Han-Wen Nienhuys authored
SetDebug methods are maintained for compatibility. This is part of a patch series to process the INIT opcode on mount. This will enable filesystems to switch functionality depending on kernel settings. In order to get the debug output for the INIT opcode, the debug option must be passed to the mount method. Deprecate the SetDebug methods. There is often little practical use in toggling debug on the fly, since the error scenarios depend on timing details, and must usually be isolated into unittests. Change-Id: I221c995add5f7621b627f738d7e97af7daf81b2a
-
- 05 Jul, 2016 3 commits
-
-
Han-Wen Nienhuys authored
This fixes flakiness in TestNoOpen. Change-Id: I8909236d9539c1729bd8a78d460d6637f7c775e0
-
Han-Wen Nienhuys authored
Change-Id: I78393b40721d71a6ba4cdc634da079dec5669c26
-
Han-Wen Nienhuys authored
Change-Id: I99beacd150b49e062c6df2c16d52e73fce6ab111
-
- 30 Jun, 2016 3 commits
-
-
Han-Wen Nienhuys authored
Any node that returns ENOSYS for Getxattr will cause the kernel to stop issuing Getxattr calls altogether. In file systems that must support GetXAttr and that has multiple node types, tracking down all node types and overriding GetXAttr for them individually is annoying. For filesystems that need the performance benefit of skipping GETXATTR calls, provide a DisableXAttrs option. Change-Id: I98327aa959b3b26192e15bc3be96b7a6c0ada5f6
-
Han-Wen Nienhuys authored
Change-Id: Iff1b21137fdbdccc7d7fa83b619df333eab7be26
-
Han-Wen Nienhuys authored
Change-Id: I6c17b6937483ad4a396cafe43d3b4605ce4a83cf
-
- 29 May, 2016 1 commit
-
-
Jakob Unterwurzacher authored
Taking the treeLock after inodeMap.Forget() exposed a small window where the Inode that is about to be forgotten could be handed out to the kernel under a new node ID. Testing with fsstress for 1.000+ iterations showed that the race can actually be hit, and causes "No such file or directory" errors. With the lock taken earlier, loopbackfs passes 10.000+ fsstress iterations. Change-Id: Ic02ae757d9a726ece01e8f0b3f0ff877f8e2dbc3
-
- 23 May, 2016 1 commit
-
-
Jakob Unterwurzacher authored
The reason we have to do parent tracking is combination of (a) the Node structure has a map to its children (b) FORGET messages don't enumerate parents of a node, just the node to be forgotten. Hence to keep the map in sync with the kernel's FS tree, we have to update the parents of a node on FORGET too. This passes 90+ iterations of fsstress-loopback.bash . ( https://github.com/rfjakob/gocryptfs/blob/master/stress_tests/fsstress-loopback.bash ) Change-Id: Idea478d25703a59d17086db59c110ac55281176a
-
- 22 May, 2016 1 commit
-
-
Jakob Unterwurzacher authored
Instead, drop the node from all parents in OnForget. Fixes issue #106, stress-loopback (from https://github.com/rfjakob/fsstress) now passes 40+ iterations. Change-Id: I9a6bc08b88fc4f5a8bb63d449b29430e5b24ee7a
-
- 18 May, 2016 1 commit
-
-
Jakob Unterwurzacher authored
should not be changed. nodefs incorrectly passed 0 for this case, leading to chgrp(1) always failing for non-root mounts. Fixes #107. Change-Id: I3832f847c1d490b7207747e70af4d03fa2fe21d5
-
- 24 Apr, 2016 4 commits
-
-
Jakob Unterwurzacher authored
We must match "v.parent" against "parentPI", not against ourself. This caused entries in the clientInodeMap to never be removed. Change-Id: Icab14e425105851071a4d95776b4599ba9353a2d
-
Jakob Unterwurzacher authored
This allows you to track which Dispatch a Serialize belongs to, to understand which requests are outstanding. Change-Id: I1348dc2dd144840a3142b407616d700c8e988400
-
Jakob Unterwurzacher authored
Change-Id: I5612016b2bccf9e28186a83f2f420cefe1c30120
-
Jakob Unterwurzacher authored
LOOKUP is changed to use the human-readable "NodeId: %d" output that is used in most other places. This also makes grepping easier. Also adds debug output for batch forget. Change-Id: I086b4c34b17c98b7df474e90cf9b8b493ac9e040
-
- 13 Apr, 2016 1 commit
-
-
Han-Wen Nienhuys authored
Use the TreeWatcher interface in pathfs to synchronize the parent mapping in pathfs with the tree management in nodefs. Tested: loopback -l $mount $orig fsstress -p 1 -z -f rmdir=10 -f link=10 -f creat=10 -f mkdir=10 \ -f rename=30 -f stat=30 -f unlink=30 -f truncate=20 -m 8 -n 1000 \ -d $mount -s 1456162204 ; sleep 1; echo ok ; rm -Rf $mount Fixes #99. Change-Id: I8668571c7dabf6da6ec708eec53de1887864b9ea
-
- 04 Apr, 2016 1 commit
-
-
Han-Wen Nienhuys authored
Change-Id: I106a8b03d50b647c198e2ba45fb643841aba86b0
-
- 30 Mar, 2016 2 commits
-
-
Jakob Unterwurzacher authored
Seconds granularity is too coarse to understand what is happening, so add microseconds. In return, the date is dropped to keep the lines short. Old format: 2016/03/14 18:19:38 Dispatch: OPENDIR, NodeId: 1. New format: 18:18:35.988071 Dispatch: OPENDIR, NodeId: 1.
-
Jakob Unterwurzacher authored
This simplifies testing hard links support (aka ClientInodes) with external tools like fsstress.
-
- 19 Feb, 2016 2 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
- 18 Feb, 2016 1 commit
-
-
Han-Wen Nienhuys authored
-
- 17 Feb, 2016 3 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
- 16 Feb, 2016 2 commits
-
-
Han-Wen Nienhuys authored
-
Han-Wen Nienhuys authored
-
- 12 Feb, 2016 1 commit
-
-
Jakob Unterwurzacher authored
Apart from adding the missing write into clientInodeMap, I have added a few comments about what happens. Hopefully helps the next person looking at this code.
-