not_implemented_file_system.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. // Copyright 2015 Google Inc. All Rights Reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. package fuseutil
  15. import (
  16. "github.com/jacobsa/fuse"
  17. "github.com/jacobsa/fuse/fuseops"
  18. "golang.org/x/net/context"
  19. )
  20. // A FileSystem that responds to all ops with fuse.ENOSYS. Embed this in your
  21. // struct to inherit default implementations for the methods you don't care
  22. // about, ensuring your struct will continue to implement FileSystem even as
  23. // new methods are added.
  24. type NotImplementedFileSystem struct {
  25. }
  26. var _ FileSystem = &NotImplementedFileSystem{}
  27. func (fs *NotImplementedFileSystem) StatFS(
  28. ctx context.Context,
  29. op *fuseops.StatFSOp) (err error) {
  30. err = fuse.ENOSYS
  31. return
  32. }
  33. func (fs *NotImplementedFileSystem) LookUpInode(
  34. ctx context.Context,
  35. op *fuseops.LookUpInodeOp) (err error) {
  36. err = fuse.ENOSYS
  37. return
  38. }
  39. func (fs *NotImplementedFileSystem) GetInodeAttributes(
  40. ctx context.Context,
  41. op *fuseops.GetInodeAttributesOp) (err error) {
  42. err = fuse.ENOSYS
  43. return
  44. }
  45. func (fs *NotImplementedFileSystem) SetInodeAttributes(
  46. ctx context.Context,
  47. op *fuseops.SetInodeAttributesOp) (err error) {
  48. err = fuse.ENOSYS
  49. return
  50. }
  51. func (fs *NotImplementedFileSystem) ForgetInode(
  52. ctx context.Context,
  53. op *fuseops.ForgetInodeOp) (err error) {
  54. err = fuse.ENOSYS
  55. return
  56. }
  57. func (fs *NotImplementedFileSystem) MkDir(
  58. ctx context.Context,
  59. op *fuseops.MkDirOp) (err error) {
  60. err = fuse.ENOSYS
  61. return
  62. }
  63. func (fs *NotImplementedFileSystem) MkNode(
  64. ctx context.Context,
  65. op *fuseops.MkNodeOp) (err error) {
  66. err = fuse.ENOSYS
  67. return
  68. }
  69. func (fs *NotImplementedFileSystem) CreateFile(
  70. ctx context.Context,
  71. op *fuseops.CreateFileOp) (err error) {
  72. err = fuse.ENOSYS
  73. return
  74. }
  75. func (fs *NotImplementedFileSystem) CreateSymlink(
  76. ctx context.Context,
  77. op *fuseops.CreateSymlinkOp) (err error) {
  78. err = fuse.ENOSYS
  79. return
  80. }
  81. func (fs *NotImplementedFileSystem) Rename(
  82. ctx context.Context,
  83. op *fuseops.RenameOp) (err error) {
  84. err = fuse.ENOSYS
  85. return
  86. }
  87. func (fs *NotImplementedFileSystem) RmDir(
  88. ctx context.Context,
  89. op *fuseops.RmDirOp) (err error) {
  90. err = fuse.ENOSYS
  91. return
  92. }
  93. func (fs *NotImplementedFileSystem) Unlink(
  94. ctx context.Context,
  95. op *fuseops.UnlinkOp) (err error) {
  96. err = fuse.ENOSYS
  97. return
  98. }
  99. func (fs *NotImplementedFileSystem) OpenDir(
  100. ctx context.Context,
  101. op *fuseops.OpenDirOp) (err error) {
  102. err = fuse.ENOSYS
  103. return
  104. }
  105. func (fs *NotImplementedFileSystem) ReadDir(
  106. ctx context.Context,
  107. op *fuseops.ReadDirOp) (err error) {
  108. err = fuse.ENOSYS
  109. return
  110. }
  111. func (fs *NotImplementedFileSystem) ReleaseDirHandle(
  112. ctx context.Context,
  113. op *fuseops.ReleaseDirHandleOp) (err error) {
  114. err = fuse.ENOSYS
  115. return
  116. }
  117. func (fs *NotImplementedFileSystem) OpenFile(
  118. ctx context.Context,
  119. op *fuseops.OpenFileOp) (err error) {
  120. err = fuse.ENOSYS
  121. return
  122. }
  123. func (fs *NotImplementedFileSystem) ReadFile(
  124. ctx context.Context,
  125. op *fuseops.ReadFileOp) (err error) {
  126. err = fuse.ENOSYS
  127. return
  128. }
  129. func (fs *NotImplementedFileSystem) WriteFile(
  130. ctx context.Context,
  131. op *fuseops.WriteFileOp) (err error) {
  132. err = fuse.ENOSYS
  133. return
  134. }
  135. func (fs *NotImplementedFileSystem) SyncFile(
  136. ctx context.Context,
  137. op *fuseops.SyncFileOp) (err error) {
  138. err = fuse.ENOSYS
  139. return
  140. }
  141. func (fs *NotImplementedFileSystem) FlushFile(
  142. ctx context.Context,
  143. op *fuseops.FlushFileOp) (err error) {
  144. err = fuse.ENOSYS
  145. return
  146. }
  147. func (fs *NotImplementedFileSystem) ReleaseFileHandle(
  148. ctx context.Context,
  149. op *fuseops.ReleaseFileHandleOp) (err error) {
  150. err = fuse.ENOSYS
  151. return
  152. }
  153. func (fs *NotImplementedFileSystem) ReadSymlink(
  154. ctx context.Context,
  155. op *fuseops.ReadSymlinkOp) (err error) {
  156. err = fuse.ENOSYS
  157. return
  158. }
  159. func (fs *NotImplementedFileSystem) RemoveXattr(
  160. ctx context.Context,
  161. op *fuseops.RemoveXattrOp) (err error) {
  162. err = fuse.ENOSYS
  163. return
  164. }
  165. func (fs *NotImplementedFileSystem) GetXattr(
  166. ctx context.Context,
  167. op *fuseops.GetXattrOp) (err error) {
  168. err = fuse.ENOSYS
  169. return
  170. }
  171. func (fs *NotImplementedFileSystem) ListXattr(
  172. ctx context.Context,
  173. op *fuseops.ListXattrOp) (err error) {
  174. err = fuse.ENOSYS
  175. return
  176. }
  177. func (fs *NotImplementedFileSystem) SetXattr(
  178. ctx context.Context,
  179. op *fuseops.SetXattrOp) (err error) {
  180. err = fuse.ENOSYS
  181. return
  182. }
  183. func (fs *NotImplementedFileSystem) Destroy() {
  184. }