diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index f0f759cfe6..e2e5a18001 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -43,10 +43,20 @@
junit
test
+
+ org.junit.vintage
+ junit-vintage-engine
+ test
+
net.sourceforge.pmd
pmd-test
test
+
+ net.sourceforge.pmd
+ pmd-lang-test
+ test
+
diff --git a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/EdgeCasesTokenizerTest.java b/pmd-go/src/test/java/net/sourceforge/pmd/cpd/EdgeCasesTokenizerTest.java
deleted file mode 100644
index 71b085a34e..0000000000
--- a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/EdgeCasesTokenizerTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.cpd;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.Test;
-
-public class EdgeCasesTokenizerTest {
-
- private String getSampleCode(final String filename) throws IOException {
- return IOUtils.toString(GoTokenizer.class.getResourceAsStream(filename), StandardCharsets.UTF_8);
- }
-
- @Test
- public void testEscapedBackSlash() throws IOException {
- // See https://github.com/pmd/pmd/issues/1751
- final String filename = "issue1751.go";
- final GoTokenizer tokenizer = new GoTokenizer();
- final SourceCode sourceCode = new SourceCode(new SourceCode.StringCodeLoader(getSampleCode(filename), filename));
-
- final Tokens tokens = new Tokens();
- tokenizer.tokenize(sourceCode, tokens); // it should simply not fail
- }
-}
diff --git a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoCPDTokenizerTest.java b/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoCPDTokenizerTest.java
deleted file mode 100644
index e46866d012..0000000000
--- a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoCPDTokenizerTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
- */
-
-package net.sourceforge.pmd.cpd;
-
-import java.io.IOException;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.Before;
-import org.junit.Test;
-
-import net.sourceforge.pmd.testframework.AbstractTokenizerTest;
-
-public class GoCPDTokenizerTest extends AbstractTokenizerTest {
-
- private static final String FILENAME = "hello.go";
-
- @Before
- @Override
- public void buildTokenizer() throws IOException {
- this.tokenizer = new GoTokenizer();
- this.sourceCode = new SourceCode(new SourceCode.StringCodeLoader(this.getSampleCode(), FILENAME));
- }
-
- @Override
- public String getSampleCode() throws IOException {
- return IOUtils.toString(GoTokenizer.class.getResourceAsStream(FILENAME));
- }
-
- @Test
- public void tokenizeTest() throws IOException {
- this.expectedTokenCount = 23;
- super.tokenizeTest();
- }
-}
diff --git a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoTokenizerTest.java b/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoTokenizerTest.java
index 7e34d93981..309867e995 100644
--- a/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoTokenizerTest.java
+++ b/pmd-go/src/test/java/net/sourceforge/pmd/cpd/GoTokenizerTest.java
@@ -4,33 +4,40 @@
package net.sourceforge.pmd.cpd;
-import java.io.IOException;
+import java.util.Properties;
-import org.apache.commons.io.IOUtils;
-import org.junit.Before;
import org.junit.Test;
-import net.sourceforge.pmd.testframework.AbstractTokenizerTest;
+import net.sourceforge.pmd.cpd.test.CpdTextComparisonTest;
-public class GoTokenizerTest extends AbstractTokenizerTest {
+public class GoTokenizerTest extends CpdTextComparisonTest {
- private static final String FILENAME = "btrfs.go";
-
- @Before
- @Override
- public void buildTokenizer() throws IOException {
- this.tokenizer = new GoTokenizer();
- this.sourceCode = new SourceCode(new SourceCode.StringCodeLoader(this.getSampleCode(), FILENAME));
+ public GoTokenizerTest() {
+ super(".go");
}
@Override
- public String getSampleCode() throws IOException {
- return IOUtils.toString(GoTokenizer.class.getResourceAsStream(FILENAME));
+ public Tokenizer newTokenizer(Properties properties) {
+ return new GoTokenizer();
+ }
+
+ @Override
+ protected String getResourcePrefix() {
+ return "../lang/go/cpd/testdata";
}
@Test
- public void tokenizeTest() throws IOException {
- this.expectedTokenCount = 3517;
- super.tokenizeTest();
+ public void simpleTest() {
+ doTest("hello");
+ }
+
+ @Test
+ public void bigFileTest() {
+ doTest("btrfs");
+ }
+
+ @Test
+ public void testIssue1751() {
+ doTest("issue-1751");
}
}
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/cpd/btrfs.go b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/btrfs.go
similarity index 100%
rename from pmd-go/src/test/resources/net/sourceforge/pmd/cpd/btrfs.go
rename to pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/btrfs.go
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/btrfs.txt b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/btrfs.txt
new file mode 100644
index 0000000000..4fd7edaea6
--- /dev/null
+++ b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/btrfs.txt
@@ -0,0 +1,4047 @@
+ [Image] or [Truncated image[ Bcol Ecol
+L9
+ [package] 1 7
+ [btrfs] 9 13
+L21
+ [import] 1 6
+ ["C"] 8 10
+L23
+ [import] 1 6
+ [(] 8 8
+L24
+ ["fmt"] 2 6
+L25
+ ["io/ioutil"] 2 12
+L26
+ ["math"] 2 7
+L27
+ ["os"] 2 5
+L28
+ ["path"] 2 7
+L29
+ ["path/filepath"] 2 16
+L30
+ ["strconv"] 2 10
+L31
+ ["strings"] 2 10
+L32
+ ["sync"] 2 7
+L33
+ ["unsafe"] 2 9
+L35
+ ["github.com/docker/docker/daemon/g[ 2 46
+L36
+ ["github.com/docker/docker/pkg/cont[ 2 43
+L37
+ ["github.com/docker/docker/pkg/idto[ 2 39
+L38
+ ["github.com/docker/docker/pkg/moun[ 2 37
+L39
+ ["github.com/docker/docker/pkg/pars[ 2 39
+L40
+ ["github.com/docker/docker/pkg/syst[ 2 38
+L41
+ ["github.com/docker/go-units"] 2 29
+L42
+ ["github.com/opencontainers/selinux[ 2 53
+L43
+ ["github.com/pkg/errors"] 2 24
+L44
+ ["github.com/sirupsen/logrus"] 2 29
+L45
+ ["golang.org/x/sys/unix"] 2 24
+L46
+ [)] 1 1
+L48
+ [func] 1 4
+ [init] 6 9
+ [(] 10 10
+ [)] 11 11
+ [{] 13 13
+L49
+ [graphdriver] 2 12
+ [.] 13 13
+ [Register] 14 21
+ [(] 22 22
+ ["btrfs"] 23 29
+ [,] 30 30
+ [Init] 32 35
+ [)] 36 36
+L50
+ [}] 1 1
+L52
+ [type] 1 4
+ [btrfsOptions] 6 17
+ [struct] 19 24
+ [{] 26 26
+L53
+ [minSpace] 2 9
+ [uint64] 11 16
+L54
+ [size] 2 5
+ [uint64] 11 16
+L55
+ [}] 1 1
+L59
+ [func] 1 4
+ [Init] 6 9
+ [(] 10 10
+ [home] 11 14
+ [string] 16 21
+ [,] 22 22
+ [options] 24 30
+ [\[] 32 32
+ [\]] 33 33
+ [string] 34 39
+ [,] 40 40
+ [uidMaps] 42 48
+ [,] 49 49
+ [gidMaps] 51 57
+ [\[] 59 59
+ [\]] 60 60
+ [idtools] 61 67
+ [.] 68 68
+ [IDMap] 69 73
+ [)] 74 74
+ [(] 76 76
+ [graphdriver] 77 87
+ [.] 88 88
+ [Driver] 89 94
+ [,] 95 95
+ [error] 97 101
+ [)] 102 102
+ [{] 104 104
+L65
+ [testdir] 2 8
+ [:=] 10 11
+ [home] 13 16
+L66
+ [if] 2 3
+ [_] 5 5
+ [,] 6 6
+ [err] 8 10
+ [:=] 12 13
+ [os] 15 16
+ [.] 17 17
+ [Stat] 18 21
+ [(] 22 22
+ [testdir] 23 29
+ [)] 30 30
+ [;] 31 31
+ [os] 33 34
+ [.] 35 35
+ [IsNotExist] 36 45
+ [(] 46 46
+ [err] 47 49
+ [)] 50 50
+ [{] 52 52
+L67
+ [testdir] 3 9
+ [=] 11 11
+ [filepath] 13 20
+ [.] 21 21
+ [Dir] 22 24
+ [(] 25 25
+ [testdir] 26 32
+ [)] 33 33
+L68
+ [}] 2 2
+L70
+ [fsMagic] 2 8
+ [,] 9 9
+ [err] 11 13
+ [:=] 15 16
+ [graphdriver] 18 28
+ [.] 29 29
+ [GetFSMagic] 30 39
+ [(] 40 40
+ [testdir] 41 47
+ [)] 48 48
+L71
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L72
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [err] 15 17
+L73
+ [}] 2 2
+L75
+ [if] 2 3
+ [fsMagic] 5 11
+ [!=] 13 14
+ [graphdriver] 16 26
+ [.] 27 27
+ [FsMagicBtrfs] 28 39
+ [{] 41 41
+L76
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [graphdriver] 15 25
+ [.] 26 26
+ [ErrPrerequisites] 27 42
+L77
+ [}] 2 2
+L79
+ [rootUID] 2 8
+ [,] 9 9
+ [rootGID] 11 17
+ [,] 18 18
+ [err] 20 22
+ [:=] 24 25
+ [idtools] 27 33
+ [.] 34 34
+ [GetRootUIDGID] 35 47
+ [(] 48 48
+ [uidMaps] 49 55
+ [,] 56 56
+ [gidMaps] 58 64
+ [)] 65 65
+L80
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L81
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [err] 15 17
+L82
+ [}] 2 2
+L83
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [idtools] 12 18
+ [.] 19 19
+ [MkdirAllAndChown] 20 35
+ [(] 36 36
+ [home] 37 40
+ [,] 41 41
+ [0700] 43 46
+ [,] 47 47
+ [idtools] 49 55
+ [.] 56 56
+ [Identity] 57 64
+ [{] 65 65
+ [UID] 66 68
+ [:] 69 69
+ [rootUID] 71 77
+ [,] 78 78
+ [GID] 80 82
+ [:] 83 83
+ [rootGID] 85 91
+ [}] 92 92
+ [)] 93 93
+ [;] 94 94
+ [err] 96 98
+ [!=] 100 101
+ [nil] 103 105
+ [{] 107 107
+L84
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [err] 15 17
+L85
+ [}] 2 2
+L87
+ [opt] 2 4
+ [,] 5 5
+ [userDiskQuota] 7 19
+ [,] 20 20
+ [err] 22 24
+ [:=] 26 27
+ [parseOptions] 29 40
+ [(] 41 41
+ [options] 42 48
+ [)] 49 49
+L88
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L89
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [err] 15 17
+L90
+ [}] 2 2
+L96
+ [err] 2 4
+ [=] 6 6
+ [mount] 8 12
+ [.] 13 13
+ [MakeMount] 14 22
+ [(] 23 23
+ [home] 24 27
+ [)] 28 28
+L97
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L98
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [errors] 15 20
+ [.] 21 21
+ [Wrapf] 22 26
+ [(] 27 27
+ [err] 28 30
+ [,] 31 31
+ ["failed to make %s a mount"] 33 59
+ [,] 60 60
+ [home] 62 65
+ [)] 66 66
+L99
+ [}] 2 2
+L101
+ [driver] 2 7
+ [:=] 9 10
+ [&] 12 12
+ [Driver] 13 18
+ [{] 19 19
+L102
+ [home] 3 6
+ [:] 7 7
+ [home] 12 15
+ [,] 16 16
+L103
+ [uidMaps] 3 9
+ [:] 10 10
+ [uidMaps] 12 18
+ [,] 19 19
+L104
+ [gidMaps] 3 9
+ [:] 10 10
+ [gidMaps] 12 18
+ [,] 19 19
+L105
+ [options] 3 9
+ [:] 10 10
+ [opt] 12 14
+ [,] 15 15
+L106
+ [}] 2 2
+L108
+ [if] 2 3
+ [userDiskQuota] 5 17
+ [{] 19 19
+L109
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [driver] 13 18
+ [.] 19 19
+ [subvolEnableQuota] 20 36
+ [(] 37 37
+ [)] 38 38
+ [;] 39 39
+ [err] 41 43
+ [!=] 45 46
+ [nil] 48 50
+ [{] 52 52
+L110
+ [return] 4 9
+ [nil] 11 13
+ [,] 14 14
+ [err] 16 18
+L111
+ [}] 3 3
+L112
+ [}] 2 2
+L114
+ [return] 2 7
+ [graphdriver] 9 19
+ [.] 20 20
+ [NewNaiveDiffDriver] 21 38
+ [(] 39 39
+ [driver] 40 45
+ [,] 46 46
+ [uidMaps] 48 54
+ [,] 55 55
+ [gidMaps] 57 63
+ [)] 64 64
+ [,] 65 65
+ [nil] 67 69
+L115
+ [}] 1 1
+L117
+ [func] 1 4
+ [parseOptions] 6 17
+ [(] 18 18
+ [opt] 19 21
+ [\[] 23 23
+ [\]] 24 24
+ [string] 25 30
+ [)] 31 31
+ [(] 33 33
+ [btrfsOptions] 34 45
+ [,] 46 46
+ [bool] 48 51
+ [,] 52 52
+ [error] 54 58
+ [)] 59 59
+ [{] 61 61
+L118
+ [var] 2 4
+ [options] 6 12
+ [btrfsOptions] 14 25
+L119
+ [userDiskQuota] 2 14
+ [:=] 16 17
+ [false] 19 23
+L120
+ [for] 2 4
+ [_] 6 6
+ [,] 7 7
+ [option] 9 14
+ [:=] 16 17
+ [range] 19 23
+ [opt] 25 27
+ [{] 29 29
+L121
+ [key] 3 5
+ [,] 6 6
+ [val] 8 10
+ [,] 11 11
+ [err] 13 15
+ [:=] 17 18
+ [parsers] 20 26
+ [.] 27 27
+ [ParseKeyValueOpt] 28 43
+ [(] 44 44
+ [option] 45 50
+ [)] 51 51
+L122
+ [if] 3 4
+ [err] 6 8
+ [!=] 10 11
+ [nil] 13 15
+ [{] 17 17
+L123
+ [return] 4 9
+ [options] 11 17
+ [,] 18 18
+ [userDiskQuota] 20 32
+ [,] 33 33
+ [err] 35 37
+L124
+ [}] 3 3
+L125
+ [key] 3 5
+ [=] 7 7
+ [strings] 9 15
+ [.] 16 16
+ [ToLower] 17 23
+ [(] 24 24
+ [key] 25 27
+ [)] 28 28
+L126
+ [switch] 3 8
+ [key] 10 12
+ [{] 14 14
+L127
+ [case] 3 6
+ ["btrfs.min_space"] 8 24
+ [:] 25 25
+L128
+ [minSpace] 4 11
+ [,] 12 12
+ [err] 14 16
+ [:=] 18 19
+ [units] 21 25
+ [.] 26 26
+ [RAMInBytes] 27 36
+ [(] 37 37
+ [val] 38 40
+ [)] 41 41
+L129
+ [if] 4 5
+ [err] 7 9
+ [!=] 11 12
+ [nil] 14 16
+ [{] 18 18
+L130
+ [return] 5 10
+ [options] 12 18
+ [,] 19 19
+ [userDiskQuota] 21 33
+ [,] 34 34
+ [err] 36 38
+L131
+ [}] 4 4
+L132
+ [userDiskQuota] 4 16
+ [=] 18 18
+ [true] 20 23
+L133
+ [options] 4 10
+ [.] 11 11
+ [minSpace] 12 19
+ [=] 21 21
+ [uint64] 23 28
+ [(] 29 29
+ [minSpace] 30 37
+ [)] 38 38
+L134
+ [default] 3 9
+ [:] 10 10
+L135
+ [return] 4 9
+ [options] 11 17
+ [,] 18 18
+ [userDiskQuota] 20 32
+ [,] 33 33
+ [fmt] 35 37
+ [.] 38 38
+ [Errorf] 39 44
+ [(] 45 45
+ ["Unknown option %s"] 46 64
+ [,] 65 65
+ [key] 67 69
+ [)] 70 70
+L136
+ [}] 3 3
+L137
+ [}] 2 2
+L138
+ [return] 2 7
+ [options] 9 15
+ [,] 16 16
+ [userDiskQuota] 18 30
+ [,] 31 31
+ [nil] 33 35
+L139
+ [}] 1 1
+L142
+ [type] 1 4
+ [Driver] 6 11
+ [struct] 13 18
+ [{] 20 20
+L144
+ [home] 2 5
+ [string] 15 20
+L145
+ [uidMaps] 2 8
+ [\[] 15 15
+ [\]] 16 16
+ [idtools] 17 23
+ [.] 24 24
+ [IDMap] 25 29
+L146
+ [gidMaps] 2 8
+ [\[] 15 15
+ [\]] 16 16
+ [idtools] 17 23
+ [.] 24 24
+ [IDMap] 25 29
+L147
+ [options] 2 8
+ [btrfsOptions] 15 26
+L148
+ [quotaEnabled] 2 13
+ [bool] 15 18
+L149
+ [once] 2 5
+ [sync] 15 18
+ [.] 19 19
+ [Once] 20 23
+L150
+ [}] 1 1
+L153
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [String] 18 23
+ [(] 24 24
+ [)] 25 25
+ [string] 27 32
+ [{] 34 34
+L154
+ [return] 2 7
+ ["btrfs"] 9 15
+L155
+ [}] 1 1
+L160
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Status] 18 23
+ [(] 24 24
+ [)] 25 25
+ [\[] 27 27
+ [\]] 28 28
+ [\[] 29 29
+ [2] 30 30
+ [\]] 31 31
+ [string] 32 37
+ [{] 39 39
+L161
+ [status] 2 7
+ [:=] 9 10
+ [\[] 12 12
+ [\]] 13 13
+ [\[] 14 14
+ [2] 15 15
+ [\]] 16 16
+ [string] 17 22
+ [{] 23 23
+ [}] 24 24
+L162
+ [if] 2 3
+ [bv] 5 6
+ [:=] 8 9
+ [btrfsBuildVersion] 11 27
+ [(] 28 28
+ [)] 29 29
+ [;] 30 30
+ [bv] 32 33
+ [!=] 35 36
+ ["-"] 38 40
+ [{] 42 42
+L163
+ [status] 3 8
+ [=] 10 10
+ [append] 12 17
+ [(] 18 18
+ [status] 19 24
+ [,] 25 25
+ [\[] 27 27
+ [2] 28 28
+ [\]] 29 29
+ [string] 30 35
+ [{] 36 36
+ ["Build Version"] 37 51
+ [,] 52 52
+ [bv] 54 55
+ [}] 56 56
+ [)] 57 57
+L164
+ [}] 2 2
+L165
+ [if] 2 3
+ [lv] 5 6
+ [:=] 8 9
+ [btrfsLibVersion] 11 25
+ [(] 26 26
+ [)] 27 27
+ [;] 28 28
+ [lv] 30 31
+ [!=] 33 34
+ [-] 36 36
+ [1] 37 37
+ [{] 39 39
+L166
+ [status] 3 8
+ [=] 10 10
+ [append] 12 17
+ [(] 18 18
+ [status] 19 24
+ [,] 25 25
+ [\[] 27 27
+ [2] 28 28
+ [\]] 29 29
+ [string] 30 35
+ [{] 36 36
+ ["Library Version"] 37 53
+ [,] 54 54
+ [fmt] 56 58
+ [.] 59 59
+ [Sprintf] 60 66
+ [(] 67 67
+ ["%d"] 68 71
+ [,] 72 72
+ [lv] 74 75
+ [)] 76 76
+ [}] 77 77
+ [)] 78 78
+L167
+ [}] 2 2
+L168
+ [return] 2 7
+ [status] 9 14
+L169
+ [}] 1 1
+L172
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [GetMetadata] 18 28
+ [(] 29 29
+ [id] 30 31
+ [string] 33 38
+ [)] 39 39
+ [(] 41 41
+ [map] 42 44
+ [\[] 45 45
+ [string] 46 51
+ [\]] 52 52
+ [string] 53 58
+ [,] 59 59
+ [error] 61 65
+ [)] 66 66
+ [{] 68 68
+L173
+ [return] 2 7
+ [nil] 9 11
+ [,] 12 12
+ [nil] 14 16
+L174
+ [}] 1 1
+L177
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Cleanup] 18 24
+ [(] 25 25
+ [)] 26 26
+ [error] 28 32
+ [{] 34 34
+L178
+ [err] 2 4
+ [:=] 6 7
+ [d] 9 9
+ [.] 10 10
+ [subvolDisableQuota] 11 28
+ [(] 29 29
+ [)] 30 30
+L179
+ [umountErr] 2 10
+ [:=] 12 13
+ [mount] 15 19
+ [.] 20 20
+ [Unmount] 21 27
+ [(] 28 28
+ [d] 29 29
+ [.] 30 30
+ [home] 31 34
+ [)] 35 35
+L182
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L183
+ [return] 3 8
+ [err] 10 12
+L184
+ [}] 2 2
+L186
+ [if] 2 3
+ [umountErr] 5 13
+ [!=] 15 16
+ [nil] 18 20
+ [{] 22 22
+L187
+ [return] 3 8
+ [errors] 10 15
+ [.] 16 16
+ [Wrapf] 17 21
+ [(] 22 22
+ [umountErr] 23 31
+ [,] 32 32
+ ["error unmounting %s"] 34 54
+ [,] 55 55
+ [d] 57 57
+ [.] 58 58
+ [home] 59 62
+ [)] 63 63
+L188
+ [}] 2 2
+L190
+ [return] 2 7
+ [nil] 9 11
+L191
+ [}] 1 1
+L193
+ [func] 1 4
+ [free] 6 9
+ [(] 10 10
+ [p] 11 11
+ [*] 13 13
+ [C] 14 14
+ [.] 15 15
+ [char] 16 19
+ [)] 20 20
+ [{] 22 22
+L194
+ [C] 2 2
+ [.] 3 3
+ [free] 4 7
+ [(] 8 8
+ [unsafe] 9 14
+ [.] 15 15
+ [Pointer] 16 22
+ [(] 23 23
+ [p] 24 24
+ [)] 25 25
+ [)] 26 26
+L195
+ [}] 1 1
+L197
+ [func] 1 4
+ [openDir] 6 12
+ [(] 13 13
+ [path] 14 17
+ [string] 19 24
+ [)] 25 25
+ [(] 27 27
+ [*] 28 28
+ [C] 29 29
+ [.] 30 30
+ [DIR] 31 33
+ [,] 34 34
+ [error] 36 40
+ [)] 41 41
+ [{] 43 43
+L198
+ [Cpath] 2 6
+ [:=] 8 9
+ [C] 11 11
+ [.] 12 12
+ [CString] 13 19
+ [(] 20 20
+ [path] 21 24
+ [)] 25 25
+L199
+ [defer] 2 6
+ [free] 8 11
+ [(] 12 12
+ [Cpath] 13 17
+ [)] 18 18
+L201
+ [dir] 2 4
+ [:=] 6 7
+ [C] 9 9
+ [.] 10 10
+ [opendir] 11 17
+ [(] 18 18
+ [Cpath] 19 23
+ [)] 24 24
+L202
+ [if] 2 3
+ [dir] 5 7
+ [==] 9 10
+ [nil] 12 14
+ [{] 16 16
+L203
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [fmt] 15 17
+ [.] 18 18
+ [Errorf] 19 24
+ [(] 25 25
+ ["Can't open dir"] 26 41
+ [)] 42 42
+L204
+ [}] 2 2
+L205
+ [return] 2 7
+ [dir] 9 11
+ [,] 12 12
+ [nil] 14 16
+L206
+ [}] 1 1
+L208
+ [func] 1 4
+ [closeDir] 6 13
+ [(] 14 14
+ [dir] 15 17
+ [*] 19 19
+ [C] 20 20
+ [.] 21 21
+ [DIR] 22 24
+ [)] 25 25
+ [{] 27 27
+L209
+ [if] 2 3
+ [dir] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L210
+ [C] 3 3
+ [.] 4 4
+ [closedir] 5 12
+ [(] 13 13
+ [dir] 14 16
+ [)] 17 17
+L211
+ [}] 2 2
+L212
+ [}] 1 1
+L214
+ [func] 1 4
+ [getDirFd] 6 13
+ [(] 14 14
+ [dir] 15 17
+ [*] 19 19
+ [C] 20 20
+ [.] 21 21
+ [DIR] 22 24
+ [)] 25 25
+ [uintptr] 27 33
+ [{] 35 35
+L215
+ [return] 2 7
+ [uintptr] 9 15
+ [(] 16 16
+ [C] 17 17
+ [.] 18 18
+ [dirfd] 19 23
+ [(] 24 24
+ [dir] 25 27
+ [)] 28 28
+ [)] 29 29
+L216
+ [}] 1 1
+L218
+ [func] 1 4
+ [subvolCreate] 6 17
+ [(] 18 18
+ [path] 19 22
+ [,] 23 23
+ [name] 25 28
+ [string] 30 35
+ [)] 36 36
+ [error] 38 42
+ [{] 44 44
+L219
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [path] 22 25
+ [)] 26 26
+L220
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L221
+ [return] 3 8
+ [err] 10 12
+L222
+ [}] 2 2
+L223
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L225
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_vol_args] 13 39
+L226
+ [for] 2 4
+ [i] 6 6
+ [,] 7 7
+ [c] 9 9
+ [:=] 11 12
+ [range] 14 18
+ [\[] 20 20
+ [\]] 21 21
+ [byte] 22 25
+ [(] 26 26
+ [name] 27 30
+ [)] 31 31
+ [{] 33 33
+L227
+ [args] 3 6
+ [.] 7 7
+ [name] 8 11
+ [\[] 12 12
+ [i] 13 13
+ [\]] 14 14
+ [=] 16 16
+ [C] 18 18
+ [.] 19 19
+ [char] 20 23
+ [(] 24 24
+ [c] 25 25
+ [)] 26 26
+L228
+ [}] 2 2
+L230
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_SUBVOL_CREATE] 63 85
+ [,] 86 86
+L231
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L232
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L233
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to create btrfs subvolume:[ 21 58
+ [,] 59 59
+ [errno] 61 65
+ [.] 66 66
+ [Error] 67 71
+ [(] 72 72
+ [)] 73 73
+ [)] 74 74
+L234
+ [}] 2 2
+L235
+ [return] 2 7
+ [nil] 9 11
+L236
+ [}] 1 1
+L238
+ [func] 1 4
+ [subvolSnapshot] 6 19
+ [(] 20 20
+ [src] 21 23
+ [,] 24 24
+ [dest] 26 29
+ [,] 30 30
+ [name] 32 35
+ [string] 37 42
+ [)] 43 43
+ [error] 45 49
+ [{] 51 51
+L239
+ [srcDir] 2 7
+ [,] 8 8
+ [err] 10 12
+ [:=] 14 15
+ [openDir] 17 23
+ [(] 24 24
+ [src] 25 27
+ [)] 28 28
+L240
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L241
+ [return] 3 8
+ [err] 10 12
+L242
+ [}] 2 2
+L243
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [srcDir] 17 22
+ [)] 23 23
+L245
+ [destDir] 2 8
+ [,] 9 9
+ [err] 11 13
+ [:=] 15 16
+ [openDir] 18 24
+ [(] 25 25
+ [dest] 26 29
+ [)] 30 30
+L246
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L247
+ [return] 3 8
+ [err] 10 12
+L248
+ [}] 2 2
+L249
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [destDir] 17 23
+ [)] 24 24
+L251
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_vol_args_v2] 13 42
+L252
+ [args] 2 5
+ [.] 6 6
+ [fd] 7 8
+ [=] 10 10
+ [C] 12 12
+ [.] 13 13
+ [__s64] 14 18
+ [(] 19 19
+ [getDirFd] 20 27
+ [(] 28 28
+ [srcDir] 29 34
+ [)] 35 35
+ [)] 36 36
+L254
+ [var] 2 4
+ [cs] 6 7
+ [=] 9 9
+ [C] 11 11
+ [.] 12 12
+ [CString] 13 19
+ [(] 20 20
+ [name] 21 24
+ [)] 25 25
+L255
+ [C] 2 2
+ [.] 3 3
+ [set_name_btrfs_ioctl_vol_args_v2] 4 35
+ [(] 36 36
+ [&] 37 37
+ [args] 38 41
+ [,] 42 42
+ [cs] 44 45
+ [)] 46 46
+L256
+ [C] 2 2
+ [.] 3 3
+ [free] 4 7
+ [(] 8 8
+ [unsafe] 9 14
+ [.] 15 15
+ [Pointer] 16 22
+ [(] 23 23
+ [cs] 24 25
+ [)] 26 26
+ [)] 27 27
+L258
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [destDir] 55 61
+ [)] 62 62
+ [,] 63 63
+ [C] 65 65
+ [.] 66 66
+ [BTRFS_IOC_SNAP_CREATE_V2] 67 90
+ [,] 91 91
+L259
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L260
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L261
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to create btrfs snapshot: [ 21 57
+ [,] 58 58
+ [errno] 60 64
+ [.] 65 65
+ [Error] 66 70
+ [(] 71 71
+ [)] 72 72
+ [)] 73 73
+L262
+ [}] 2 2
+L263
+ [return] 2 7
+ [nil] 9 11
+L264
+ [}] 1 1
+L266
+ [func] 1 4
+ [isSubvolume] 6 16
+ [(] 17 17
+ [p] 18 18
+ [string] 20 25
+ [)] 26 26
+ [(] 28 28
+ [bool] 29 32
+ [,] 33 33
+ [error] 35 39
+ [)] 40 40
+ [{] 42 42
+L267
+ [var] 2 4
+ [bufStat] 6 12
+ [unix] 14 17
+ [.] 18 18
+ [Stat_t] 19 24
+L268
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [unix] 12 15
+ [.] 16 16
+ [Lstat] 17 21
+ [(] 22 22
+ [p] 23 23
+ [,] 24 24
+ [&] 26 26
+ [bufStat] 27 33
+ [)] 34 34
+ [;] 35 35
+ [err] 37 39
+ [!=] 41 42
+ [nil] 44 46
+ [{] 48 48
+L269
+ [return] 3 8
+ [false] 10 14
+ [,] 15 15
+ [err] 17 19
+L270
+ [}] 2 2
+L273
+ [return] 2 7
+ [bufStat] 9 15
+ [.] 16 16
+ [Ino] 17 19
+ [==] 21 22
+ [C] 24 24
+ [.] 25 25
+ [BTRFS_FIRST_FREE_OBJECTID] 26 50
+ [,] 51 51
+ [nil] 53 55
+L274
+ [}] 1 1
+L276
+ [func] 1 4
+ [subvolDelete] 6 17
+ [(] 18 18
+ [dirpath] 19 25
+ [,] 26 26
+ [name] 28 31
+ [string] 33 38
+ [,] 39 39
+ [quotaEnabled] 41 52
+ [bool] 54 57
+ [)] 58 58
+ [error] 60 64
+ [{] 66 66
+L277
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [dirpath] 22 28
+ [)] 29 29
+L278
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L279
+ [return] 3 8
+ [err] 10 12
+L280
+ [}] 2 2
+L281
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L282
+ [fullPath] 2 9
+ [:=] 11 12
+ [path] 14 17
+ [.] 18 18
+ [Join] 19 22
+ [(] 23 23
+ [dirpath] 24 30
+ [,] 31 31
+ [name] 33 36
+ [)] 37 37
+L284
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_vol_args] 13 39
+L287
+ [walkSubvolumes] 2 15
+ [:=] 17 18
+ [func] 20 23
+ [(] 24 24
+ [p] 25 25
+ [string] 27 32
+ [,] 33 33
+ [f] 35 35
+ [os] 37 38
+ [.] 39 39
+ [FileInfo] 40 47
+ [,] 48 48
+ [err] 50 52
+ [error] 54 58
+ [)] 59 59
+ [error] 61 65
+ [{] 67 67
+L288
+ [if] 3 4
+ [err] 6 8
+ [!=] 10 11
+ [nil] 13 15
+ [{] 17 17
+L289
+ [if] 4 5
+ [os] 7 8
+ [.] 9 9
+ [IsNotExist] 10 19
+ [(] 20 20
+ [err] 21 23
+ [)] 24 24
+ [&&] 26 27
+ [p] 29 29
+ [!=] 31 32
+ [fullPath] 34 41
+ [{] 43 43
+L292
+ [return] 5 10
+ [nil] 12 14
+L293
+ [}] 4 4
+L294
+ [return] 4 9
+ [fmt] 11 13
+ [.] 14 14
+ [Errorf] 15 20
+ [(] 21 21
+ ["error walking subvolumes: %v"] 22 51
+ [,] 52 52
+ [err] 54 56
+ [)] 57 57
+L295
+ [}] 3 3
+L298
+ [if] 3 4
+ [f] 6 6
+ [.] 7 7
+ [IsDir] 8 12
+ [(] 13 13
+ [)] 14 14
+ [&&] 16 17
+ [p] 19 19
+ [!=] 21 22
+ [fullPath] 24 31
+ [{] 33 33
+L299
+ [sv] 4 5
+ [,] 6 6
+ [err] 8 10
+ [:=] 12 13
+ [isSubvolume] 15 25
+ [(] 26 26
+ [p] 27 27
+ [)] 28 28
+L300
+ [if] 4 5
+ [err] 7 9
+ [!=] 11 12
+ [nil] 14 16
+ [{] 18 18
+L301
+ [return] 5 10
+ [fmt] 12 14
+ [.] 15 15
+ [Errorf] 16 21
+ [(] 22 22
+ ["Failed to test if %s is a btrfs s[ 23 69
+ [,] 70 70
+ [p] 72 72
+ [,] 73 73
+ [err] 75 77
+ [)] 78 78
+L302
+ [}] 4 4
+L303
+ [if] 4 5
+ [sv] 7 8
+ [{] 10 10
+L304
+ [if] 5 6
+ [err] 8 10
+ [:=] 12 13
+ [subvolDelete] 15 26
+ [(] 27 27
+ [path] 28 31
+ [.] 32 32
+ [Dir] 33 35
+ [(] 36 36
+ [p] 37 37
+ [)] 38 38
+ [,] 39 39
+ [f] 41 41
+ [.] 42 42
+ [Name] 43 46
+ [(] 47 47
+ [)] 48 48
+ [,] 49 49
+ [quotaEnabled] 51 62
+ [)] 63 63
+ [;] 64 64
+ [err] 66 68
+ [!=] 70 71
+ [nil] 73 75
+ [{] 77 77
+L305
+ [return] 6 11
+ [fmt] 13 15
+ [.] 16 16
+ [Errorf] 17 22
+ [(] 23 23
+ ["Failed to destroy btrfs child sub[ 24 88
+ [,] 89 89
+ [p] 91 91
+ [,] 92 92
+ [dirpath] 94 100
+ [,] 101 101
+ [err] 103 105
+ [)] 106 106
+L306
+ [}] 5 5
+L307
+ [}] 4 4
+L308
+ [}] 3 3
+L309
+ [return] 3 8
+ [nil] 10 12
+L310
+ [}] 2 2
+L311
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [filepath] 12 19
+ [.] 20 20
+ [Walk] 21 24
+ [(] 25 25
+ [path] 26 29
+ [.] 30 30
+ [Join] 31 34
+ [(] 35 35
+ [dirpath] 36 42
+ [,] 43 43
+ [name] 45 48
+ [)] 49 49
+ [,] 50 50
+ [walkSubvolumes] 52 65
+ [)] 66 66
+ [;] 67 67
+ [err] 69 71
+ [!=] 73 74
+ [nil] 76 78
+ [{] 80 80
+L312
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Recursively walking subvolumes fo[ 21 70
+ [,] 71 71
+ [dirpath] 73 79
+ [,] 80 80
+ [err] 82 84
+ [)] 85 85
+L313
+ [}] 2 2
+L315
+ [if] 2 3
+ [quotaEnabled] 5 16
+ [{] 18 18
+L316
+ [if] 3 4
+ [qgroupid] 6 13
+ [,] 14 14
+ [err] 16 18
+ [:=] 20 21
+ [subvolLookupQgroup] 23 40
+ [(] 41 41
+ [fullPath] 42 49
+ [)] 50 50
+ [;] 51 51
+ [err] 53 55
+ [==] 57 58
+ [nil] 60 62
+ [{] 64 64
+L317
+ [var] 4 6
+ [args] 8 11
+ [C] 13 13
+ [.] 14 14
+ [struct_btrfs_ioctl_qgroup_create_a[ 15 51
+L318
+ [args] 4 7
+ [.] 8 8
+ [qgroupid] 9 16
+ [=] 18 18
+ [C] 20 20
+ [.] 21 21
+ [__u64] 22 26
+ [(] 27 27
+ [qgroupid] 28 35
+ [)] 36 36
+L320
+ [_] 4 4
+ [,] 5 5
+ [_] 7 7
+ [,] 8 8
+ [errno] 10 14
+ [:=] 16 17
+ [unix] 19 22
+ [.] 23 23
+ [Syscall] 24 30
+ [(] 31 31
+ [unix] 32 35
+ [.] 36 36
+ [SYS_IOCTL] 37 45
+ [,] 46 46
+ [getDirFd] 48 55
+ [(] 56 56
+ [dir] 57 59
+ [)] 60 60
+ [,] 61 61
+ [C] 63 63
+ [.] 64 64
+ [BTRFS_IOC_QGROUP_CREATE] 65 87
+ [,] 88 88
+L321
+ [uintptr] 5 11
+ [(] 12 12
+ [unsafe] 13 18
+ [.] 19 19
+ [Pointer] 20 26
+ [(] 27 27
+ [&] 28 28
+ [args] 29 32
+ [)] 33 33
+ [)] 34 34
+ [)] 35 35
+L322
+ [if] 4 5
+ [errno] 7 11
+ [!=] 13 14
+ [0] 16 16
+ [{] 18 18
+L323
+ [logrus] 5 10
+ [.] 11 11
+ [WithField] 12 20
+ [(] 21 21
+ ["storage-driver"] 22 37
+ [,] 38 38
+ ["btrfs"] 40 46
+ [)] 47 47
+ [.] 48 48
+ [Errorf] 49 54
+ [(] 55 55
+ ["Failed to delete btrfs qgroup %v [ 56 100
+ [,] 101 101
+ [qgroupid] 103 110
+ [,] 111 111
+ [fullPath] 113 120
+ [,] 121 121
+ [errno] 123 127
+ [.] 128 128
+ [Error] 129 133
+ [(] 134 134
+ [)] 135 135
+ [)] 136 136
+L324
+ [}] 4 4
+L325
+ [}] 3 3
+ [else] 5 8
+ [{] 10 10
+L326
+ [logrus] 4 9
+ [.] 10 10
+ [WithField] 11 19
+ [(] 20 20
+ ["storage-driver"] 21 36
+ [,] 37 37
+ ["btrfs"] 39 45
+ [)] 46 46
+ [.] 47 47
+ [Errorf] 48 53
+ [(] 54 54
+ ["Failed to lookup btrfs qgroup for[ 55 96
+ [,] 97 97
+ [fullPath] 99 106
+ [,] 107 107
+ [err] 109 111
+ [.] 112 112
+ [Error] 113 117
+ [(] 118 118
+ [)] 119 119
+ [)] 120 120
+L327
+ [}] 3 3
+L328
+ [}] 2 2
+L332
+ [for] 2 4
+ [i] 6 6
+ [,] 7 7
+ [c] 9 9
+ [:=] 11 12
+ [range] 14 18
+ [\[] 20 20
+ [\]] 21 21
+ [byte] 22 25
+ [(] 26 26
+ [name] 27 30
+ [)] 31 31
+ [{] 33 33
+L333
+ [args] 3 6
+ [.] 7 7
+ [name] 8 11
+ [\[] 12 12
+ [i] 13 13
+ [\]] 14 14
+ [=] 16 16
+ [C] 18 18
+ [.] 19 19
+ [char] 20 23
+ [(] 24 24
+ [c] 25 25
+ [)] 26 26
+L334
+ [}] 2 2
+L335
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_SNAP_DESTROY] 63 84
+ [,] 85 85
+L336
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L337
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L338
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to destroy btrfs snapshot [ 21 68
+ [,] 69 69
+ [dirpath] 71 77
+ [,] 78 78
+ [name] 80 83
+ [,] 84 84
+ [errno] 86 90
+ [.] 91 91
+ [Error] 92 96
+ [(] 97 97
+ [)] 98 98
+ [)] 99 99
+L339
+ [}] 2 2
+L340
+ [return] 2 7
+ [nil] 9 11
+L341
+ [}] 1 1
+L343
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [updateQuotaStatus] 18 34
+ [(] 35 35
+ [)] 36 36
+ [{] 38 38
+L344
+ [d] 2 2
+ [.] 3 3
+ [once] 4 7
+ [.] 8 8
+ [Do] 9 10
+ [(] 11 11
+ [func] 12 15
+ [(] 16 16
+ [)] 17 17
+ [{] 19 19
+L345
+ [if] 3 4
+ [!] 6 6
+ [d] 7 7
+ [.] 8 8
+ [quotaEnabled] 9 20
+ [{] 22 22
+L347
+ [if] 4 5
+ [err] 7 9
+ [:=] 11 12
+ [subvolQgroupStatus] 14 31
+ [(] 32 32
+ [d] 33 33
+ [.] 34 34
+ [home] 35 38
+ [)] 39 39
+ [;] 40 40
+ [err] 42 44
+ [!=] 46 47
+ [nil] 49 51
+ [{] 53 53
+L349
+ [return] 5 10
+L350
+ [}] 4 4
+L351
+ [d] 4 4
+ [.] 5 5
+ [quotaEnabled] 6 17
+ [=] 19 19
+ [true] 21 24
+L352
+ [}] 3 3
+L353
+ [}] 2 2
+ [)] 3 3
+L354
+ [}] 1 1
+L356
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [subvolEnableQuota] 18 34
+ [(] 35 35
+ [)] 36 36
+ [error] 38 42
+ [{] 44 44
+L357
+ [d] 2 2
+ [.] 3 3
+ [updateQuotaStatus] 4 20
+ [(] 21 21
+ [)] 22 22
+L359
+ [if] 2 3
+ [d] 5 5
+ [.] 6 6
+ [quotaEnabled] 7 18
+ [{] 20 20
+L360
+ [return] 3 8
+ [nil] 10 12
+L361
+ [}] 2 2
+L363
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [d] 22 22
+ [.] 23 23
+ [home] 24 27
+ [)] 28 28
+L364
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L365
+ [return] 3 8
+ [err] 10 12
+L366
+ [}] 2 2
+L367
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L369
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_quota_ctl_args] 13 45
+L370
+ [args] 2 5
+ [.] 6 6
+ [cmd] 7 9
+ [=] 11 11
+ [C] 13 13
+ [.] 14 14
+ [BTRFS_QUOTA_CTL_ENABLE] 15 36
+L371
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_QUOTA_CTL] 63 81
+ [,] 82 82
+L372
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L373
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L374
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to enable btrfs quota for [ 21 61
+ [,] 62 62
+ [dir] 64 66
+ [,] 67 67
+ [errno] 69 73
+ [.] 74 74
+ [Error] 75 79
+ [(] 80 80
+ [)] 81 81
+ [)] 82 82
+L375
+ [}] 2 2
+L377
+ [d] 2 2
+ [.] 3 3
+ [quotaEnabled] 4 15
+ [=] 17 17
+ [true] 19 22
+L379
+ [return] 2 7
+ [nil] 9 11
+L380
+ [}] 1 1
+L382
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [subvolDisableQuota] 18 35
+ [(] 36 36
+ [)] 37 37
+ [error] 39 43
+ [{] 45 45
+L383
+ [d] 2 2
+ [.] 3 3
+ [updateQuotaStatus] 4 20
+ [(] 21 21
+ [)] 22 22
+L385
+ [if] 2 3
+ [!] 5 5
+ [d] 6 6
+ [.] 7 7
+ [quotaEnabled] 8 19
+ [{] 21 21
+L386
+ [return] 3 8
+ [nil] 10 12
+L387
+ [}] 2 2
+L389
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [d] 22 22
+ [.] 23 23
+ [home] 24 27
+ [)] 28 28
+L390
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L391
+ [return] 3 8
+ [err] 10 12
+L392
+ [}] 2 2
+L393
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L395
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_quota_ctl_args] 13 45
+L396
+ [args] 2 5
+ [.] 6 6
+ [cmd] 7 9
+ [=] 11 11
+ [C] 13 13
+ [.] 14 14
+ [BTRFS_QUOTA_CTL_DISABLE] 15 37
+L397
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_QUOTA_CTL] 63 81
+ [,] 82 82
+L398
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L399
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L400
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to disable btrfs quota for[ 21 62
+ [,] 63 63
+ [dir] 65 67
+ [,] 68 68
+ [errno] 70 74
+ [.] 75 75
+ [Error] 76 80
+ [(] 81 81
+ [)] 82 82
+ [)] 83 83
+L401
+ [}] 2 2
+L403
+ [d] 2 2
+ [.] 3 3
+ [quotaEnabled] 4 15
+ [=] 17 17
+ [false] 19 23
+L405
+ [return] 2 7
+ [nil] 9 11
+L406
+ [}] 1 1
+L408
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [subvolRescanQuota] 18 34
+ [(] 35 35
+ [)] 36 36
+ [error] 38 42
+ [{] 44 44
+L409
+ [d] 2 2
+ [.] 3 3
+ [updateQuotaStatus] 4 20
+ [(] 21 21
+ [)] 22 22
+L411
+ [if] 2 3
+ [!] 5 5
+ [d] 6 6
+ [.] 7 7
+ [quotaEnabled] 8 19
+ [{] 21 21
+L412
+ [return] 3 8
+ [nil] 10 12
+L413
+ [}] 2 2
+L415
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [d] 22 22
+ [.] 23 23
+ [home] 24 27
+ [)] 28 28
+L416
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L417
+ [return] 3 8
+ [err] 10 12
+L418
+ [}] 2 2
+L419
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L421
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_quota_rescan_ar[ 13 48
+L422
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_QUOTA_RESCAN_WAIT] 63 89
+ [,] 90 90
+L423
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L424
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L425
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to rescan btrfs quota for [ 21 61
+ [,] 62 62
+ [dir] 64 66
+ [,] 67 67
+ [errno] 69 73
+ [.] 74 74
+ [Error] 75 79
+ [(] 80 80
+ [)] 81 81
+ [)] 82 82
+L426
+ [}] 2 2
+L428
+ [return] 2 7
+ [nil] 9 11
+L429
+ [}] 1 1
+L431
+ [func] 1 4
+ [subvolLimitQgroup] 6 22
+ [(] 23 23
+ [path] 24 27
+ [string] 29 34
+ [,] 35 35
+ [size] 37 40
+ [uint64] 42 47
+ [)] 48 48
+ [error] 50 54
+ [{] 56 56
+L432
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [path] 22 25
+ [)] 26 26
+L433
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L434
+ [return] 3 8
+ [err] 10 12
+L435
+ [}] 2 2
+L436
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L438
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_qgroup_limit_ar[ 13 48
+L439
+ [args] 2 5
+ [.] 6 6
+ [lim] 7 9
+ [.] 10 10
+ [max_referenced] 11 24
+ [=] 26 26
+ [C] 28 28
+ [.] 29 29
+ [__u64] 30 34
+ [(] 35 35
+ [size] 36 39
+ [)] 40 40
+L440
+ [args] 2 5
+ [.] 6 6
+ [lim] 7 9
+ [.] 10 10
+ [flags] 11 15
+ [=] 17 17
+ [C] 19 19
+ [.] 20 20
+ [BTRFS_QGROUP_LIMIT_MAX_RFER] 21 47
+L441
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_QGROUP_LIMIT] 63 84
+ [,] 85 85
+L442
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L443
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L444
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to limit qgroup for %s: %v[ 21 55
+ [,] 56 56
+ [dir] 58 60
+ [,] 61 61
+ [errno] 63 67
+ [.] 68 68
+ [Error] 69 73
+ [(] 74 74
+ [)] 75 75
+ [)] 76 76
+L445
+ [}] 2 2
+L447
+ [return] 2 7
+ [nil] 9 11
+L448
+ [}] 1 1
+L454
+ [func] 1 4
+ [subvolQgroupStatus] 6 23
+ [(] 24 24
+ [path] 25 28
+ [string] 30 35
+ [)] 36 36
+ [error] 38 42
+ [{] 44 44
+L455
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [path] 22 25
+ [)] 26 26
+L456
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L457
+ [return] 3 8
+ [err] 10 12
+L458
+ [}] 2 2
+L459
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L461
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_search_args] 13 42
+L462
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [tree_id] 11 17
+ [=] 19 19
+ [C] 21 21
+ [.] 22 22
+ [BTRFS_QUOTA_TREE_OBJECTID] 23 47
+L463
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [min_type] 11 18
+ [=] 20 20
+ [C] 22 22
+ [.] 23 23
+ [BTRFS_QGROUP_STATUS_KEY] 24 46
+L464
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [max_type] 11 18
+ [=] 20 20
+ [C] 22 22
+ [.] 23 23
+ [BTRFS_QGROUP_STATUS_KEY] 24 46
+L465
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [max_objectid] 11 22
+ [=] 24 24
+ [C] 26 26
+ [.] 27 27
+ [__u64] 28 32
+ [(] 33 33
+ [math] 34 37
+ [.] 38 38
+ [MaxUint64] 39 47
+ [)] 48 48
+L466
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [max_offset] 11 20
+ [=] 22 22
+ [C] 24 24
+ [.] 25 25
+ [__u64] 26 30
+ [(] 31 31
+ [math] 32 35
+ [.] 36 36
+ [MaxUint64] 37 45
+ [)] 46 46
+L467
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [max_transid] 11 21
+ [=] 23 23
+ [C] 25 25
+ [.] 26 26
+ [__u64] 27 31
+ [(] 32 32
+ [math] 33 36
+ [.] 37 37
+ [MaxUint64] 38 46
+ [)] 47 47
+L468
+ [args] 2 5
+ [.] 6 6
+ [key] 7 9
+ [.] 10 10
+ [nr_items] 11 18
+ [=] 20 20
+ [4096] 22 25
+L470
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_TREE_SEARCH] 63 83
+ [,] 84 84
+L471
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L472
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L473
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Failed to search qgroup for %s: %[ 21 56
+ [,] 57 57
+ [path] 59 62
+ [,] 63 63
+ [errno] 65 69
+ [.] 70 70
+ [Error] 71 75
+ [(] 76 76
+ [)] 77 77
+ [)] 78 78
+L474
+ [}] 2 2
+L475
+ [sh] 2 3
+ [:=] 5 6
+ [(] 8 8
+ [*] 9 9
+ [C] 10 10
+ [.] 11 11
+ [struct_btrfs_ioctl_search_header] 12 43
+ [)] 44 44
+ [(] 45 45
+ [unsafe] 46 51
+ [.] 52 52
+ [Pointer] 53 59
+ [(] 60 60
+ [&] 61 61
+ [args] 62 65
+ [.] 66 66
+ [buf] 67 69
+ [)] 70 70
+ [)] 71 71
+L476
+ [if] 2 3
+ [sh] 5 6
+ [.] 7 7
+ [_type] 8 12
+ [!=] 14 15
+ [C] 17 17
+ [.] 18 18
+ [BTRFS_QGROUP_STATUS_KEY] 19 41
+ [{] 43 43
+L477
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["Invalid qgroup search header type[ 21 66
+ [,] 67 67
+ [path] 69 72
+ [,] 73 73
+ [sh] 75 76
+ [.] 77 77
+ [_type] 78 82
+ [)] 83 83
+L478
+ [}] 2 2
+L479
+ [return] 2 7
+ [nil] 9 11
+L480
+ [}] 1 1
+L482
+ [func] 1 4
+ [subvolLookupQgroup] 6 23
+ [(] 24 24
+ [path] 25 28
+ [string] 30 35
+ [)] 36 36
+ [(] 38 38
+ [uint64] 39 44
+ [,] 45 45
+ [error] 47 51
+ [)] 52 52
+ [{] 54 54
+L483
+ [dir] 2 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [openDir] 14 20
+ [(] 21 21
+ [path] 22 25
+ [)] 26 26
+L484
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L485
+ [return] 3 8
+ [0] 10 10
+ [,] 11 11
+ [err] 13 15
+L486
+ [}] 2 2
+L487
+ [defer] 2 6
+ [closeDir] 8 15
+ [(] 16 16
+ [dir] 17 19
+ [)] 20 20
+L489
+ [var] 2 4
+ [args] 6 9
+ [C] 11 11
+ [.] 12 12
+ [struct_btrfs_ioctl_ino_lookup_args] 13 46
+L490
+ [args] 2 5
+ [.] 6 6
+ [objectid] 7 14
+ [=] 16 16
+ [C] 18 18
+ [.] 19 19
+ [BTRFS_FIRST_FREE_OBJECTID] 20 44
+L492
+ [_] 2 2
+ [,] 3 3
+ [_] 5 5
+ [,] 6 6
+ [errno] 8 12
+ [:=] 14 15
+ [unix] 17 20
+ [.] 21 21
+ [Syscall] 22 28
+ [(] 29 29
+ [unix] 30 33
+ [.] 34 34
+ [SYS_IOCTL] 35 43
+ [,] 44 44
+ [getDirFd] 46 53
+ [(] 54 54
+ [dir] 55 57
+ [)] 58 58
+ [,] 59 59
+ [C] 61 61
+ [.] 62 62
+ [BTRFS_IOC_INO_LOOKUP] 63 82
+ [,] 83 83
+L493
+ [uintptr] 3 9
+ [(] 10 10
+ [unsafe] 11 16
+ [.] 17 17
+ [Pointer] 18 24
+ [(] 25 25
+ [&] 26 26
+ [args] 27 30
+ [)] 31 31
+ [)] 32 32
+ [)] 33 33
+L494
+ [if] 2 3
+ [errno] 5 9
+ [!=] 11 12
+ [0] 14 14
+ [{] 16 16
+L495
+ [return] 3 8
+ [0] 10 10
+ [,] 11 11
+ [fmt] 13 15
+ [.] 16 16
+ [Errorf] 17 22
+ [(] 23 23
+ ["Failed to lookup qgroup for %s: %[ 24 59
+ [,] 60 60
+ [dir] 62 64
+ [,] 65 65
+ [errno] 67 71
+ [.] 72 72
+ [Error] 73 77
+ [(] 78 78
+ [)] 79 79
+ [)] 80 80
+L496
+ [}] 2 2
+L497
+ [if] 2 3
+ [args] 5 8
+ [.] 9 9
+ [treeid] 10 15
+ [==] 17 18
+ [0] 20 20
+ [{] 22 22
+L498
+ [return] 3 8
+ [0] 10 10
+ [,] 11 11
+ [fmt] 13 15
+ [.] 16 16
+ [Errorf] 17 22
+ [(] 23 23
+ ["Invalid qgroup id for %s: 0"] 24 52
+ [,] 53 53
+ [dir] 55 57
+ [)] 58 58
+L499
+ [}] 2 2
+L501
+ [return] 2 7
+ [uint64] 9 14
+ [(] 15 15
+ [args] 16 19
+ [.] 20 20
+ [treeid] 21 26
+ [)] 27 27
+ [,] 28 28
+ [nil] 30 32
+L502
+ [}] 1 1
+L504
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [subvolumesDir] 18 30
+ [(] 31 31
+ [)] 32 32
+ [string] 34 39
+ [{] 41 41
+L505
+ [return] 2 7
+ [path] 9 12
+ [.] 13 13
+ [Join] 14 17
+ [(] 18 18
+ [d] 19 19
+ [.] 20 20
+ [home] 21 24
+ [,] 25 25
+ ["subvolumes"] 27 38
+ [)] 39 39
+L506
+ [}] 1 1
+L508
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [subvolumesDirID] 18 32
+ [(] 33 33
+ [id] 34 35
+ [string] 37 42
+ [)] 43 43
+ [string] 45 50
+ [{] 52 52
+L509
+ [return] 2 7
+ [path] 9 12
+ [.] 13 13
+ [Join] 14 17
+ [(] 18 18
+ [d] 19 19
+ [.] 20 20
+ [subvolumesDir] 21 33
+ [(] 34 34
+ [)] 35 35
+ [,] 36 36
+ [id] 38 39
+ [)] 40 40
+L510
+ [}] 1 1
+L512
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [quotasDir] 18 26
+ [(] 27 27
+ [)] 28 28
+ [string] 30 35
+ [{] 37 37
+L513
+ [return] 2 7
+ [path] 9 12
+ [.] 13 13
+ [Join] 14 17
+ [(] 18 18
+ [d] 19 19
+ [.] 20 20
+ [home] 21 24
+ [,] 25 25
+ ["quotas"] 27 34
+ [)] 35 35
+L514
+ [}] 1 1
+L516
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [quotasDirID] 18 28
+ [(] 29 29
+ [id] 30 31
+ [string] 33 38
+ [)] 39 39
+ [string] 41 46
+ [{] 48 48
+L517
+ [return] 2 7
+ [path] 9 12
+ [.] 13 13
+ [Join] 14 17
+ [(] 18 18
+ [d] 19 19
+ [.] 20 20
+ [quotasDir] 21 29
+ [(] 30 30
+ [)] 31 31
+ [,] 32 32
+ [id] 34 35
+ [)] 36 36
+L518
+ [}] 1 1
+L522
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [CreateReadWrite] 18 32
+ [(] 33 33
+ [id] 34 35
+ [,] 36 36
+ [parent] 38 43
+ [string] 45 50
+ [,] 51 51
+ [opts] 53 56
+ [*] 58 58
+ [graphdriver] 59 69
+ [.] 70 70
+ [CreateOpts] 71 80
+ [)] 81 81
+ [error] 83 87
+ [{] 89 89
+L523
+ [return] 2 7
+ [d] 9 9
+ [.] 10 10
+ [Create] 11 16
+ [(] 17 17
+ [id] 18 19
+ [,] 20 20
+ [parent] 22 27
+ [,] 28 28
+ [opts] 30 33
+ [)] 34 34
+L524
+ [}] 1 1
+L527
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Create] 18 23
+ [(] 24 24
+ [id] 25 26
+ [,] 27 27
+ [parent] 29 34
+ [string] 36 41
+ [,] 42 42
+ [opts] 44 47
+ [*] 49 49
+ [graphdriver] 50 60
+ [.] 61 61
+ [CreateOpts] 62 71
+ [)] 72 72
+ [error] 74 78
+ [{] 80 80
+L528
+ [quotas] 2 7
+ [:=] 9 10
+ [path] 12 15
+ [.] 16 16
+ [Join] 17 20
+ [(] 21 21
+ [d] 22 22
+ [.] 23 23
+ [home] 24 27
+ [,] 28 28
+ ["quotas"] 30 37
+ [)] 38 38
+L529
+ [subvolumes] 2 11
+ [:=] 13 14
+ [path] 16 19
+ [.] 20 20
+ [Join] 21 24
+ [(] 25 25
+ [d] 26 26
+ [.] 27 27
+ [home] 28 31
+ [,] 32 32
+ ["subvolumes"] 34 45
+ [)] 46 46
+L530
+ [rootUID] 2 8
+ [,] 9 9
+ [rootGID] 11 17
+ [,] 18 18
+ [err] 20 22
+ [:=] 24 25
+ [idtools] 27 33
+ [.] 34 34
+ [GetRootUIDGID] 35 47
+ [(] 48 48
+ [d] 49 49
+ [.] 50 50
+ [uidMaps] 51 57
+ [,] 58 58
+ [d] 60 60
+ [.] 61 61
+ [gidMaps] 62 68
+ [)] 69 69
+L531
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L532
+ [return] 3 8
+ [err] 10 12
+L533
+ [}] 2 2
+L534
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [idtools] 12 18
+ [.] 19 19
+ [MkdirAllAndChown] 20 35
+ [(] 36 36
+ [subvolumes] 37 46
+ [,] 47 47
+ [0700] 49 52
+ [,] 53 53
+ [idtools] 55 61
+ [.] 62 62
+ [Identity] 63 70
+ [{] 71 71
+ [UID] 72 74
+ [:] 75 75
+ [rootUID] 77 83
+ [,] 84 84
+ [GID] 86 88
+ [:] 89 89
+ [rootGID] 91 97
+ [}] 98 98
+ [)] 99 99
+ [;] 100 100
+ [err] 102 104
+ [!=] 106 107
+ [nil] 109 111
+ [{] 113 113
+L535
+ [return] 3 8
+ [err] 10 12
+L536
+ [}] 2 2
+L537
+ [if] 2 3
+ [parent] 5 10
+ [==] 12 13
+ [""] 15 16
+ [{] 18 18
+L538
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [subvolCreate] 13 24
+ [(] 25 25
+ [subvolumes] 26 35
+ [,] 36 36
+ [id] 38 39
+ [)] 40 40
+ [;] 41 41
+ [err] 43 45
+ [!=] 47 48
+ [nil] 50 52
+ [{] 54 54
+L539
+ [return] 4 9
+ [err] 11 13
+L540
+ [}] 3 3
+L541
+ [}] 2 2
+ [else] 4 7
+ [{] 9 9
+L542
+ [parentDir] 3 11
+ [:=] 13 14
+ [d] 16 16
+ [.] 17 17
+ [subvolumesDirID] 18 32
+ [(] 33 33
+ [parent] 34 39
+ [)] 40 40
+L543
+ [st] 3 4
+ [,] 5 5
+ [err] 7 9
+ [:=] 11 12
+ [os] 14 15
+ [.] 16 16
+ [Stat] 17 20
+ [(] 21 21
+ [parentDir] 22 30
+ [)] 31 31
+L544
+ [if] 3 4
+ [err] 6 8
+ [!=] 10 11
+ [nil] 13 15
+ [{] 17 17
+L545
+ [return] 4 9
+ [err] 11 13
+L546
+ [}] 3 3
+L547
+ [if] 3 4
+ [!] 6 6
+ [st] 7 8
+ [.] 9 9
+ [IsDir] 10 14
+ [(] 15 15
+ [)] 16 16
+ [{] 18 18
+L548
+ [return] 4 9
+ [fmt] 11 13
+ [.] 14 14
+ [Errorf] 15 20
+ [(] 21 21
+ ["%s: not a directory"] 22 42
+ [,] 43 43
+ [parentDir] 45 53
+ [)] 54 54
+L549
+ [}] 3 3
+L550
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [subvolSnapshot] 13 26
+ [(] 27 27
+ [parentDir] 28 36
+ [,] 37 37
+ [subvolumes] 39 48
+ [,] 49 49
+ [id] 51 52
+ [)] 53 53
+ [;] 54 54
+ [err] 56 58
+ [!=] 60 61
+ [nil] 63 65
+ [{] 67 67
+L551
+ [return] 4 9
+ [err] 11 13
+L552
+ [}] 3 3
+L553
+ [}] 2 2
+L555
+ [var] 2 4
+ [storageOpt] 6 15
+ [map] 17 19
+ [\[] 20 20
+ [string] 21 26
+ [\]] 27 27
+ [string] 28 33
+L556
+ [if] 2 3
+ [opts] 5 8
+ [!=] 10 11
+ [nil] 13 15
+ [{] 17 17
+L557
+ [storageOpt] 3 12
+ [=] 14 14
+ [opts] 16 19
+ [.] 20 20
+ [StorageOpt] 21 30
+L558
+ [}] 2 2
+L560
+ [if] 2 3
+ [_] 5 5
+ [,] 6 6
+ [ok] 8 9
+ [:=] 11 12
+ [storageOpt] 14 23
+ [\[] 24 24
+ ["size"] 25 30
+ [\]] 31 31
+ [;] 32 32
+ [ok] 34 35
+ [{] 37 37
+L561
+ [driver] 3 8
+ [:=] 10 11
+ [&] 13 13
+ [Driver] 14 19
+ [{] 20 20
+ [}] 21 21
+L562
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [d] 13 13
+ [.] 14 14
+ [parseStorageOpt] 15 29
+ [(] 30 30
+ [storageOpt] 31 40
+ [,] 41 41
+ [driver] 43 48
+ [)] 49 49
+ [;] 50 50
+ [err] 52 54
+ [!=] 56 57
+ [nil] 59 61
+ [{] 63 63
+L563
+ [return] 4 9
+ [err] 11 13
+L564
+ [}] 3 3
+L566
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [d] 13 13
+ [.] 14 14
+ [setStorageSize] 15 28
+ [(] 29 29
+ [path] 30 33
+ [.] 34 34
+ [Join] 35 38
+ [(] 39 39
+ [subvolumes] 40 49
+ [,] 50 50
+ [id] 52 53
+ [)] 54 54
+ [,] 55 55
+ [driver] 57 62
+ [)] 63 63
+ [;] 64 64
+ [err] 66 68
+ [!=] 70 71
+ [nil] 73 75
+ [{] 77 77
+L567
+ [return] 4 9
+ [err] 11 13
+L568
+ [}] 3 3
+L569
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [idtools] 13 19
+ [.] 20 20
+ [MkdirAllAndChown] 21 36
+ [(] 37 37
+ [quotas] 38 43
+ [,] 44 44
+ [0700] 46 49
+ [,] 50 50
+ [idtools] 52 58
+ [.] 59 59
+ [Identity] 60 67
+ [{] 68 68
+ [UID] 69 71
+ [:] 72 72
+ [rootUID] 74 80
+ [,] 81 81
+ [GID] 83 85
+ [:] 86 86
+ [rootGID] 88 94
+ [}] 95 95
+ [)] 96 96
+ [;] 97 97
+ [err] 99 101
+ [!=] 103 104
+ [nil] 106 108
+ [{] 110 110
+L570
+ [return] 4 9
+ [err] 11 13
+L571
+ [}] 3 3
+L572
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [ioutil] 13 18
+ [.] 19 19
+ [WriteFile] 20 28
+ [(] 29 29
+ [path] 30 33
+ [.] 34 34
+ [Join] 35 38
+ [(] 39 39
+ [quotas] 40 45
+ [,] 46 46
+ [id] 48 49
+ [)] 50 50
+ [,] 51 51
+ [\[] 53 53
+ [\]] 54 54
+ [byte] 55 58
+ [(] 59 59
+ [fmt] 60 62
+ [.] 63 63
+ [Sprint] 64 69
+ [(] 70 70
+ [driver] 71 76
+ [.] 77 77
+ [options] 78 84
+ [.] 85 85
+ [size] 86 89
+ [)] 90 90
+ [)] 91 91
+ [,] 92 92
+ [0644] 94 97
+ [)] 98 98
+ [;] 99 99
+ [err] 101 103
+ [!=] 105 106
+ [nil] 108 110
+ [{] 112 112
+L573
+ [return] 4 9
+ [err] 11 13
+L574
+ [}] 3 3
+L575
+ [}] 2 2
+L579
+ [if] 2 3
+ [rootUID] 5 11
+ [!=] 13 14
+ [0] 16 16
+ [||] 18 19
+ [rootGID] 21 27
+ [!=] 29 30
+ [0] 32 32
+ [{] 34 34
+L580
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [os] 13 14
+ [.] 15 15
+ [Chown] 16 20
+ [(] 21 21
+ [path] 22 25
+ [.] 26 26
+ [Join] 27 30
+ [(] 31 31
+ [subvolumes] 32 41
+ [,] 42 42
+ [id] 44 45
+ [)] 46 46
+ [,] 47 47
+ [rootUID] 49 55
+ [,] 56 56
+ [rootGID] 58 64
+ [)] 65 65
+ [;] 66 66
+ [err] 68 70
+ [!=] 72 73
+ [nil] 75 77
+ [{] 79 79
+L581
+ [return] 4 9
+ [err] 11 13
+L582
+ [}] 3 3
+L583
+ [}] 2 2
+L585
+ [mountLabel] 2 11
+ [:=] 13 14
+ [""] 16 17
+L586
+ [if] 2 3
+ [opts] 5 8
+ [!=] 10 11
+ [nil] 13 15
+ [{] 17 17
+L587
+ [mountLabel] 3 12
+ [=] 14 14
+ [opts] 16 19
+ [.] 20 20
+ [MountLabel] 21 30
+L588
+ [}] 2 2
+L590
+ [return] 2 7
+ [label] 9 13
+ [.] 14 14
+ [Relabel] 15 21
+ [(] 22 22
+ [path] 23 26
+ [.] 27 27
+ [Join] 28 31
+ [(] 32 32
+ [subvolumes] 33 42
+ [,] 43 43
+ [id] 45 46
+ [)] 47 47
+ [,] 48 48
+ [mountLabel] 50 59
+ [,] 60 60
+ [false] 62 66
+ [)] 67 67
+L591
+ [}] 1 1
+L594
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [parseStorageOpt] 18 32
+ [(] 33 33
+ [storageOpt] 34 43
+ [map] 45 47
+ [\[] 48 48
+ [string] 49 54
+ [\]] 55 55
+ [string] 56 61
+ [,] 62 62
+ [driver] 64 69
+ [*] 71 71
+ [Driver] 72 77
+ [)] 78 78
+ [error] 80 84
+ [{] 86 86
+L596
+ [for] 2 4
+ [key] 6 8
+ [,] 9 9
+ [val] 11 13
+ [:=] 15 16
+ [range] 18 22
+ [storageOpt] 24 33
+ [{] 35 35
+L597
+ [key] 3 5
+ [:=] 7 8
+ [strings] 10 16
+ [.] 17 17
+ [ToLower] 18 24
+ [(] 25 25
+ [key] 26 28
+ [)] 29 29
+L598
+ [switch] 3 8
+ [key] 10 12
+ [{] 14 14
+L599
+ [case] 3 6
+ ["size"] 8 13
+ [:] 14 14
+L600
+ [size] 4 7
+ [,] 8 8
+ [err] 10 12
+ [:=] 14 15
+ [units] 17 21
+ [.] 22 22
+ [RAMInBytes] 23 32
+ [(] 33 33
+ [val] 34 36
+ [)] 37 37
+L601
+ [if] 4 5
+ [err] 7 9
+ [!=] 11 12
+ [nil] 14 16
+ [{] 18 18
+L602
+ [return] 5 10
+ [err] 12 14
+L603
+ [}] 4 4
+L604
+ [driver] 4 9
+ [.] 10 10
+ [options] 11 17
+ [.] 18 18
+ [size] 19 22
+ [=] 24 24
+ [uint64] 26 31
+ [(] 32 32
+ [size] 33 36
+ [)] 37 37
+L605
+ [default] 3 9
+ [:] 10 10
+L606
+ [return] 4 9
+ [fmt] 11 13
+ [.] 14 14
+ [Errorf] 15 20
+ [(] 21 21
+ ["Unknown option %s"] 22 40
+ [,] 41 41
+ [key] 43 45
+ [)] 46 46
+L607
+ [}] 3 3
+L608
+ [}] 2 2
+L610
+ [return] 2 7
+ [nil] 9 11
+L611
+ [}] 1 1
+L614
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [setStorageSize] 18 31
+ [(] 32 32
+ [dir] 33 35
+ [string] 37 42
+ [,] 43 43
+ [driver] 45 50
+ [*] 52 52
+ [Driver] 53 58
+ [)] 59 59
+ [error] 61 65
+ [{] 67 67
+L615
+ [if] 2 3
+ [driver] 5 10
+ [.] 11 11
+ [options] 12 18
+ [.] 19 19
+ [size] 20 23
+ [<=] 25 26
+ [0] 28 28
+ [{] 30 30
+L616
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["btrfs: invalid storage size: %s"] 21 53
+ [,] 54 54
+ [units] 56 60
+ [.] 61 61
+ [HumanSize] 62 70
+ [(] 71 71
+ [float64] 72 78
+ [(] 79 79
+ [driver] 80 85
+ [.] 86 86
+ [options] 87 93
+ [.] 94 94
+ [size] 95 98
+ [)] 99 99
+ [)] 100 100
+ [)] 101 101
+L617
+ [}] 2 2
+L618
+ [if] 2 3
+ [d] 5 5
+ [.] 6 6
+ [options] 7 13
+ [.] 14 14
+ [minSpace] 15 22
+ [>] 24 24
+ [0] 26 26
+ [&&] 28 29
+ [driver] 31 36
+ [.] 37 37
+ [options] 38 44
+ [.] 45 45
+ [size] 46 49
+ [<] 51 51
+ [d] 53 53
+ [.] 54 54
+ [options] 55 61
+ [.] 62 62
+ [minSpace] 63 70
+ [{] 72 72
+L619
+ [return] 3 8
+ [fmt] 10 12
+ [.] 13 13
+ [Errorf] 14 19
+ [(] 20 20
+ ["btrfs: storage size cannot be les[ 21 64
+ [,] 65 65
+ [units] 67 71
+ [.] 72 72
+ [HumanSize] 73 81
+ [(] 82 82
+ [float64] 83 89
+ [(] 90 90
+ [d] 91 91
+ [.] 92 92
+ [options] 93 99
+ [.] 100 100
+ [minSpace] 101 108
+ [)] 109 109
+ [)] 110 110
+ [)] 111 111
+L620
+ [}] 2 2
+L621
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [d] 12 12
+ [.] 13 13
+ [subvolEnableQuota] 14 30
+ [(] 31 31
+ [)] 32 32
+ [;] 33 33
+ [err] 35 37
+ [!=] 39 40
+ [nil] 42 44
+ [{] 46 46
+L622
+ [return] 3 8
+ [err] 10 12
+L623
+ [}] 2 2
+L624
+ [return] 2 7
+ [subvolLimitQgroup] 9 25
+ [(] 26 26
+ [dir] 27 29
+ [,] 30 30
+ [driver] 32 37
+ [.] 38 38
+ [options] 39 45
+ [.] 46 46
+ [size] 47 50
+ [)] 51 51
+L625
+ [}] 1 1
+L628
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Remove] 18 23
+ [(] 24 24
+ [id] 25 26
+ [string] 28 33
+ [)] 34 34
+ [error] 36 40
+ [{] 42 42
+L629
+ [dir] 2 4
+ [:=] 6 7
+ [d] 9 9
+ [.] 10 10
+ [subvolumesDirID] 11 25
+ [(] 26 26
+ [id] 27 28
+ [)] 29 29
+L630
+ [if] 2 3
+ [_] 5 5
+ [,] 6 6
+ [err] 8 10
+ [:=] 12 13
+ [os] 15 16
+ [.] 17 17
+ [Stat] 18 21
+ [(] 22 22
+ [dir] 23 25
+ [)] 26 26
+ [;] 27 27
+ [err] 29 31
+ [!=] 33 34
+ [nil] 36 38
+ [{] 40 40
+L631
+ [return] 3 8
+ [err] 10 12
+L632
+ [}] 2 2
+L633
+ [quotasDir] 2 10
+ [:=] 12 13
+ [d] 15 15
+ [.] 16 16
+ [quotasDirID] 17 27
+ [(] 28 28
+ [id] 29 30
+ [)] 31 31
+L634
+ [if] 2 3
+ [_] 5 5
+ [,] 6 6
+ [err] 8 10
+ [:=] 12 13
+ [os] 15 16
+ [.] 17 17
+ [Stat] 18 21
+ [(] 22 22
+ [quotasDir] 23 31
+ [)] 32 32
+ [;] 33 33
+ [err] 35 37
+ [==] 39 40
+ [nil] 42 44
+ [{] 46 46
+L635
+ [if] 3 4
+ [err] 6 8
+ [:=] 10 11
+ [os] 13 14
+ [.] 15 15
+ [Remove] 16 21
+ [(] 22 22
+ [quotasDir] 23 31
+ [)] 32 32
+ [;] 33 33
+ [err] 35 37
+ [!=] 39 40
+ [nil] 42 44
+ [{] 46 46
+L636
+ [return] 4 9
+ [err] 11 13
+L637
+ [}] 3 3
+L638
+ [}] 2 2
+ [else] 4 7
+ [if] 9 10
+ [!] 12 12
+ [os] 13 14
+ [.] 15 15
+ [IsNotExist] 16 25
+ [(] 26 26
+ [err] 27 29
+ [)] 30 30
+ [{] 32 32
+L639
+ [return] 3 8
+ [err] 10 12
+L640
+ [}] 2 2
+L643
+ [d] 2 2
+ [.] 3 3
+ [updateQuotaStatus] 4 20
+ [(] 21 21
+ [)] 22 22
+L645
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [subvolDelete] 12 23
+ [(] 24 24
+ [d] 25 25
+ [.] 26 26
+ [subvolumesDir] 27 39
+ [(] 40 40
+ [)] 41 41
+ [,] 42 42
+ [id] 44 45
+ [,] 46 46
+ [d] 48 48
+ [.] 49 49
+ [quotaEnabled] 50 61
+ [)] 62 62
+ [;] 63 63
+ [err] 65 67
+ [!=] 69 70
+ [nil] 72 74
+ [{] 76 76
+L646
+ [return] 3 8
+ [err] 10 12
+L647
+ [}] 2 2
+L648
+ [if] 2 3
+ [err] 5 7
+ [:=] 9 10
+ [system] 12 17
+ [.] 18 18
+ [EnsureRemoveAll] 19 33
+ [(] 34 34
+ [dir] 35 37
+ [)] 38 38
+ [;] 39 39
+ [err] 41 43
+ [!=] 45 46
+ [nil] 48 50
+ [{] 52 52
+L649
+ [return] 3 8
+ [err] 10 12
+L650
+ [}] 2 2
+L651
+ [return] 2 7
+ [d] 9 9
+ [.] 10 10
+ [subvolRescanQuota] 11 27
+ [(] 28 28
+ [)] 29 29
+L652
+ [}] 1 1
+L655
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Get] 18 20
+ [(] 21 21
+ [id] 22 23
+ [,] 24 24
+ [mountLabel] 26 35
+ [string] 37 42
+ [)] 43 43
+ [(] 45 45
+ [containerfs] 46 56
+ [.] 57 57
+ [ContainerFS] 58 68
+ [,] 69 69
+ [error] 71 75
+ [)] 76 76
+ [{] 78 78
+L656
+ [dir] 2 4
+ [:=] 6 7
+ [d] 9 9
+ [.] 10 10
+ [subvolumesDirID] 11 25
+ [(] 26 26
+ [id] 27 28
+ [)] 29 29
+L657
+ [st] 2 3
+ [,] 4 4
+ [err] 6 8
+ [:=] 10 11
+ [os] 13 14
+ [.] 15 15
+ [Stat] 16 19
+ [(] 20 20
+ [dir] 21 23
+ [)] 24 24
+L658
+ [if] 2 3
+ [err] 5 7
+ [!=] 9 10
+ [nil] 12 14
+ [{] 16 16
+L659
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [err] 15 17
+L660
+ [}] 2 2
+L662
+ [if] 2 3
+ [!] 5 5
+ [st] 6 7
+ [.] 8 8
+ [IsDir] 9 13
+ [(] 14 14
+ [)] 15 15
+ [{] 17 17
+L663
+ [return] 3 8
+ [nil] 10 12
+ [,] 13 13
+ [fmt] 15 17
+ [.] 18 18
+ [Errorf] 19 24
+ [(] 25 25
+ ["%s: not a directory"] 26 46
+ [,] 47 47
+ [dir] 49 51
+ [)] 52 52
+L664
+ [}] 2 2
+L666
+ [if] 2 3
+ [quota] 5 9
+ [,] 10 10
+ [err] 12 14
+ [:=] 16 17
+ [ioutil] 19 24
+ [.] 25 25
+ [ReadFile] 26 33
+ [(] 34 34
+ [d] 35 35
+ [.] 36 36
+ [quotasDirID] 37 47
+ [(] 48 48
+ [id] 49 50
+ [)] 51 51
+ [)] 52 52
+ [;] 53 53
+ [err] 55 57
+ [==] 59 60
+ [nil] 62 64
+ [{] 66 66
+L667
+ [if] 3 4
+ [size] 6 9
+ [,] 10 10
+ [err] 12 14
+ [:=] 16 17
+ [strconv] 19 25
+ [.] 26 26
+ [ParseUint] 27 35
+ [(] 36 36
+ [string] 37 42
+ [(] 43 43
+ [quota] 44 48
+ [)] 49 49
+ [,] 50 50
+ [10] 52 53
+ [,] 54 54
+ [64] 56 57
+ [)] 58 58
+ [;] 59 59
+ [err] 61 63
+ [==] 65 66
+ [nil] 68 70
+ [&&] 72 73
+ [size] 75 78
+ [>=] 80 81
+ [d] 83 83
+ [.] 84 84
+ [options] 85 91
+ [.] 92 92
+ [minSpace] 93 100
+ [{] 102 102
+L668
+ [if] 4 5
+ [err] 7 9
+ [:=] 11 12
+ [d] 14 14
+ [.] 15 15
+ [subvolEnableQuota] 16 32
+ [(] 33 33
+ [)] 34 34
+ [;] 35 35
+ [err] 37 39
+ [!=] 41 42
+ [nil] 44 46
+ [{] 48 48
+L669
+ [return] 5 10
+ [nil] 12 14
+ [,] 15 15
+ [err] 17 19
+L670
+ [}] 4 4
+L671
+ [if] 4 5
+ [err] 7 9
+ [:=] 11 12
+ [subvolLimitQgroup] 14 30
+ [(] 31 31
+ [dir] 32 34
+ [,] 35 35
+ [size] 37 40
+ [)] 41 41
+ [;] 42 42
+ [err] 44 46
+ [!=] 48 49
+ [nil] 51 53
+ [{] 55 55
+L672
+ [return] 5 10
+ [nil] 12 14
+ [,] 15 15
+ [err] 17 19
+L673
+ [}] 4 4
+L674
+ [}] 3 3
+L675
+ [}] 2 2
+L677
+ [return] 2 7
+ [containerfs] 9 19
+ [.] 20 20
+ [NewLocalContainerFS] 21 39
+ [(] 40 40
+ [dir] 41 43
+ [)] 44 44
+ [,] 45 45
+ [nil] 47 49
+L678
+ [}] 1 1
+L681
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Put] 18 20
+ [(] 21 21
+ [id] 22 23
+ [string] 25 30
+ [)] 31 31
+ [error] 33 37
+ [{] 39 39
+L684
+ [return] 2 7
+ [nil] 9 11
+L685
+ [}] 1 1
+L688
+ [func] 1 4
+ [(] 6 6
+ [d] 7 7
+ [*] 9 9
+ [Driver] 10 15
+ [)] 16 16
+ [Exists] 18 23
+ [(] 24 24
+ [id] 25 26
+ [string] 28 33
+ [)] 34 34
+ [bool] 36 39
+ [{] 41 41
+L689
+ [dir] 2 4
+ [:=] 6 7
+ [d] 9 9
+ [.] 10 10
+ [subvolumesDirID] 11 25
+ [(] 26 26
+ [id] 27 28
+ [)] 29 29
+L690
+ [_] 2 2
+ [,] 3 3
+ [err] 5 7
+ [:=] 9 10
+ [os] 12 13
+ [.] 14 14
+ [Stat] 15 18
+ [(] 19 19
+ [dir] 20 22
+ [)] 23 23
+L691
+ [return] 2 7
+ [err] 9 11
+ [==] 13 14
+ [nil] 16 18
+L692
+ [}] 1 1
+EOF
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/cpd/hello.go b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/hello.go
similarity index 100%
rename from pmd-go/src/test/resources/net/sourceforge/pmd/cpd/hello.go
rename to pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/hello.go
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/hello.txt b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/hello.txt
new file mode 100644
index 0000000000..732aa6f1fc
--- /dev/null
+++ b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/hello.txt
@@ -0,0 +1,31 @@
+ [Image] or [Truncated image[ Bcol Ecol
+L21
+ [import] 1 6
+ [(] 8 8
+L22
+ ["fmt"] 2 6
+L24
+ ["github.com/golang/example/stringu[ 2 39
+L25
+ [)] 1 1
+L27
+ [func] 1 4
+ [main] 6 9
+ [(] 10 10
+ [)] 11 11
+ [{] 13 13
+L28
+ [fmt] 2 4
+ [.] 5 5
+ [Println] 6 12
+ [(] 13 13
+ [stringutil] 14 23
+ [.] 24 24
+ [Reverse] 25 31
+ [(] 32 32
+ ["!selpmaxe oG ,olleH"] 33 53
+ [)] 54 54
+ [)] 55 55
+L29
+ [}] 1 1
+EOF
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/cpd/issue1751.go b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/issue-1751.go
similarity index 100%
rename from pmd-go/src/test/resources/net/sourceforge/pmd/cpd/issue1751.go
rename to pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/issue-1751.go
diff --git a/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/issue-1751.txt b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/issue-1751.txt
new file mode 100644
index 0000000000..6f2a737b88
--- /dev/null
+++ b/pmd-go/src/test/resources/net/sourceforge/pmd/lang/go/cpd/testdata/issue-1751.txt
@@ -0,0 +1,84 @@
+ [Image] or [Truncated image[ Bcol Ecol
+L1
+ [func] 1 4
+ [test] 6 9
+ [(] 10 10
+ [in] 11 12
+ [*] 14 14
+ [Value] 15 19
+ [,] 20 20
+ [param] 22 26
+ [*] 28 28
+ [Value] 29 33
+ [)] 34 34
+ [(] 36 36
+ [*] 37 37
+ [Value] 38 42
+ [,] 43 43
+ [*] 45 45
+ [Error] 46 50
+ [)] 51 51
+ [{] 53 53
+L2
+ [output] 2 7
+ [:=] 9 10
+ [strings] 12 18
+ [.] 19 19
+ [Replace] 20 26
+ [(] 27 27
+ [in] 28 29
+ [.] 30 30
+ [String] 31 36
+ [(] 37 37
+ [)] 38 38
+ [,] 39 39
+ ["\\\\"] 41 44
+ [,] 45 45
+ ["\\\\\\\\"] 47 52
+ [,] 53 53
+ [-] 55 55
+ [1] 56 56
+ [)] 57 57
+L3
+ [output] 2 7
+ [=] 9 9
+ [strings] 11 17
+ [.] 18 18
+ [Replace] 19 25
+ [(] 26 26
+ [output] 27 32
+ [,] 33 33
+ ["\\""] 35 38
+ [,] 39 39
+ ["\\\\\\""] 41 46
+ [,] 47 47
+ [-] 49 49
+ [1] 50 50
+ [)] 51 51
+L4
+ [output] 2 7
+ [=] 9 9
+ [strings] 11 17
+ [.] 18 18
+ [Replace] 19 25
+ [(] 26 26
+ [output] 27 32
+ [,] 33 33
+ ["'"] 35 37
+ [,] 38 38
+ ["\\\\'"] 40 44
+ [,] 45 45
+ [-] 47 47
+ [1] 48 48
+ [)] 49 49
+L5
+ [return] 2 7
+ [AsValue] 9 15
+ [(] 16 16
+ [output] 17 22
+ [)] 23 23
+ [,] 24 24
+ [nil] 26 28
+L6
+ [}] 1 1
+EOF
diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/JavaTokenizerTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/JavaTokenizerTest.java
index c959bab10d..d691fe13e4 100644
--- a/pmd-java/src/test/java/net/sourceforge/pmd/cpd/JavaTokenizerTest.java
+++ b/pmd-java/src/test/java/net/sourceforge/pmd/cpd/JavaTokenizerTest.java
@@ -8,7 +8,6 @@ import static org.junit.Assert.assertEquals;
import java.util.Properties;
-import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import net.sourceforge.pmd.cpd.test.CpdTextComparisonTest;
@@ -20,7 +19,7 @@ public class JavaTokenizerTest extends CpdTextComparisonTest {
}
@Override
- public Tokenizer newTokenizer(@NotNull Properties properties) {
+ public Tokenizer newTokenizer(Properties properties) {
JavaTokenizer javaTokenizer = new JavaTokenizer();
javaTokenizer.setProperties(properties);
return javaTokenizer;
@@ -112,7 +111,6 @@ public class JavaTokenizerTest extends CpdTextComparisonTest {
}
- @NotNull
@Override
public Properties defaultProperties() {
return properties(false, false, false);