chrislu
3 years ago
5 changed files with 132 additions and 0 deletions
-
7weed/mount/weedfs_dir_mkrm.go
-
38weed/mount/weedfs_dir_read.go
-
21weed/mount/weedfs_file_mkrm.go
-
1weed/mount/weedfs_symlink.go
-
65weed/mount/weedfs_unsupported.go
@ -0,0 +1,65 @@ |
|||
package mount |
|||
|
|||
import "github.com/hanwen/go-fuse/fuse" |
|||
|
|||
// https://github.com/libfuse/libfuse/blob/48ae2e72b39b6a31cb2194f6f11786b7ca06aac6/include/fuse.h#L778
|
|||
|
|||
/** |
|||
* Copy a range of data from one file to anotherNiels de Vos, 4 years ago: • libfuse: add copy_file_range() support |
|||
* |
|||
* Performs an optimized copy between two file descriptors without the |
|||
* additional cost of transferring data through the FUSE kernel module |
|||
* to user space (glibc) and then back into the FUSE filesystem again. |
|||
* |
|||
* In case this method is not implemented, applications are expected to |
|||
* fall back to a regular file copy. (Some glibc versions did this |
|||
* emulation automatically, but the emulation has been removed from all |
|||
* glibc release branches.) |
|||
*/ |
|||
func (wfs *WFS) CopyFileRange(cancel <-chan struct{}, in *fuse.CopyFileRangeIn) (written uint32, code fuse.Status) { |
|||
return 0, fuse.ENOSYS |
|||
} |
|||
|
|||
/** |
|||
* Allocates space for an open file |
|||
* |
|||
* This function ensures that required space is allocated for specified |
|||
* file. If this function returns success then any subsequent write |
|||
* request to specified range is guaranteed not to fail because of lack |
|||
* of space on the file system media. |
|||
*/ |
|||
func (wfs *WFS) Fallocate(cancel <-chan struct{}, in *fuse.FallocateIn) (code fuse.Status) { |
|||
return fuse.ENOSYS |
|||
} |
|||
|
|||
/** |
|||
* Find next data or hole after the specified offset |
|||
*/ |
|||
func (wfs *WFS) Lseek(cancel <-chan struct{}, in *fuse.LseekIn, out *fuse.LseekOut) fuse.Status { |
|||
return fuse.ENOSYS |
|||
} |
|||
|
|||
func (wfs *WFS) GetLk(cancel <-chan struct{}, in *fuse.LkIn, out *fuse.LkOut) (code fuse.Status) { |
|||
return fuse.ENOSYS |
|||
} |
|||
|
|||
func (wfs *WFS) SetLk(cancel <-chan struct{}, in *fuse.LkIn) (code fuse.Status) { |
|||
return fuse.ENOSYS |
|||
} |
|||
|
|||
func (wfs *WFS) SetLkw(cancel <-chan struct{}, in *fuse.LkIn) (code fuse.Status) { |
|||
return fuse.ENOSYS |
|||
} |
|||
|
|||
/** |
|||
* Check file access permissions |
|||
* |
|||
* This will be called for the access() system call. If the |
|||
* 'default_permissions' mount option is given, this method is not |
|||
* called. |
|||
* |
|||
* This method is not called under Linux kernel versions 2.4.x |
|||
*/ |
|||
func (wfs *WFS) Access(cancel <-chan struct{}, input *fuse.AccessIn) (code fuse.Status) { |
|||
return fuse.ENOSYS |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue