Commit Graph

189 Commits

Author SHA1 Message Date
chrislu
2dc5d4adac disable symlink translation for now 2022-07-24 18:24:34 -07:00
chrislu
2b64916d3e set status to fuse.OK 2022-07-24 15:30:55 -07:00
chrislu
7386cf6a06 mount: resolve symlink 2022-07-24 15:11:24 -07:00
chrislu
40089b6753 maintain node lookup counter 2022-07-24 13:43:11 -07:00
chrislu
d24db396cc fix removing path from inode2path 2022-07-23 18:20:29 -07:00
chrislu
41eeb4deef do not add new inode during link 2022-07-23 13:37:07 -07:00
chrislu
02c2d81cde fix removePathFromInode2Path 2022-07-23 13:21:42 -07:00
chrislu
4d5dc55766 mount: better support hard links 2022-07-23 12:57:00 -07:00
chrislu
ebda0689ab use linux default max name length 2022-07-23 10:51:06 -07:00
chrislu
64f3d6fb6e metadata subscription uses client epoch 2022-07-23 10:50:28 -07:00
chrislu
2c8818351f mount: comment out stuck fuse inode notify during renaming 2022-07-22 18:17:34 -07:00
chrislu
a5c94acd4f mount: check possible nil entry case 2022-07-22 15:33:37 -07:00
chrislu
6147b61b0a mount: fix concurrent map read and map write
fix https://github.com/chrislusf/seaweedfs/issues/3344
2022-07-21 01:38:26 -07:00
chrislu
289402a741 writer pattern: similar changes to reader pattern 2022-07-13 02:30:44 -07:00
chrislu
578c8aea0e typo 2022-07-13 02:18:31 -07:00
chrislu
3d0defa663 fix compilation 2022-07-08 19:16:58 -07:00
chrislu
6f00c7f061 comments 2022-07-08 19:07:31 -07:00
chrislu
d685b94102 mount: rename also invalidate source inode 2022-07-08 19:07:03 -07:00
chrislu
e2ecf137a2 fix resetting fh.reader 2022-07-08 01:04:15 -07:00
chrislu
05c53820b9 mount: file handler release memory 2022-07-07 11:49:40 -07:00
chrislu
6b3beb709d fix format 2022-06-21 12:21:02 -07:00
chrislu
69a2e503ab non-recursive directory deletion
fix a problem during git checkout a different version, where updated directories are deleted even though the directory is not empty.
2022-06-20 13:18:08 -07:00
chrislu
76f26c4b99 mount: delete target entry first during move 2022-06-20 13:15:02 -07:00
chrislu
4fd5f96598 filer: remove replication, collection, disk_type info from entry metadata
these metadata can change and are not used
2022-06-06 00:39:35 -07:00
ningfd
f32142f6f5 add disableXAttr in mount option 2022-06-06 14:09:01 +08:00
chrislu
d65bb2c6df mount: file handle locks entry better
related to https://github.com/chrislusf/seaweedfs/issues/2952
2022-06-05 18:15:06 -07:00
chrislu
746092a60b add a comment 2022-06-05 16:44:07 -07:00
creeew
02ae102731 fix filer.sync missing source srv uploaded files to target when target down 2022-06-02 01:28:47 +08:00
chrislu
a2b101a737 subscribe metadata between a range 2022-05-30 15:04:19 -07:00
chrislu
5b8b022985 remove unused parameter 2022-05-24 18:52:04 -07:00
Robert Coelho
0e6e72d462 mount: ReadDir return EIO on EnsureVisited err 2022-05-24 13:02:59 -04:00
Robert Coelho
1fabbe8a25 mount: cleanup ReadDir rewrite's branches to not assume offsets 2022-05-24 12:48:32 -04:00
Robert Coelho
cb422d96f7 mount: rewrite ReadDir to respect input.Offset to fix partial results 2022-05-24 12:16:58 -04:00
Robert Coelho
05602167f4 mount: do not mark meta_cache when there is an err 2022-05-24 12:13:15 -04:00
leyou240
89eb87c1d1
Merge branch 'master' into slices.SortFunc 2022-04-18 10:39:29 +08:00
justin
3551ca2fcf enhancement: replace sort.Slice with slices.SortFunc to reduce reflection 2022-04-18 10:35:43 +08:00
chrislu
b597baf488 mount: set file write time correct to work well with rsync
fix https://github.com/chrislusf/seaweedfs/issues/2867
2022-04-16 22:56:45 -07:00
chrislu
261ba0208e lock-protected setting entry 2022-04-09 22:52:59 -07:00
chrislu
3ab2c0e5c0 avoid possible nil attributes 2022-04-06 10:11:11 -07:00
chrislu
9d44b89c21 Revert "avoid possible nil attributes"
This reverts commit 0a6703c7f7.
2022-04-06 10:01:45 -07:00
chrislu
0a6703c7f7 avoid possible nil attributes 2022-04-06 09:58:48 -07:00
chrislu
8b3d76b24d prevent concurrent access during shutdown 2022-04-05 10:53:36 -07:00
chrislu
e8d7bb42e2 avoid concurrent access to map object
fix https://github.com/chrislusf/seaweedfs/issues/2866
2022-04-03 01:08:25 -07:00
chrislu
6a2bcd03aa configure mount quota 2022-04-02 21:34:26 -07:00
chrislu
958f880b70 mount: add grpc method to adjust quota 2022-04-02 15:14:37 -07:00
chrislu
7542fd7f4d mount: optimize a bit when writing files 2022-03-17 00:02:38 -07:00
chrislu
bd5c5586b5 generate inode via path and time 2022-03-14 00:03:29 -07:00
chrislu
5cba8e51c5 refactor 2022-03-13 18:34:57 -07:00
chrislu
f2f68f675e write to disk during random writes, limiting total disk spaces used 2022-03-13 18:17:35 -07:00
chrislu
f70c1e449b add useful doc link 2022-03-13 00:14:50 -08:00
chrislu
b20ddc57a7 mount: return open status 2022-03-12 22:38:14 -08:00
chrislu
b40d252761 mount: chmod for root 2022-03-12 12:10:56 -08:00
chrislu
011a41b561 add back writes to swap file when too many in memory chunks are used. 2022-03-09 22:26:51 -08:00
chrislu
dc204dd137 fix nil entry
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x1d340b4]

goroutine 130523 [running]:
github.com/chrislusf/seaweedfs/weed/filer.FileSize(...)
        /code/seaweedfs/weed/filer/filechunks.go:26
github.com/chrislusf/seaweedfs/weed/mount.(*WFS).Lookup(0xc000866d80, 0x1, 0xc002897f40, {0xc004b00980, 0x39}, 0x1ec19e0)
        /code/seaweedfs/weed/mount/weedfs_dir_lookup.go:59 +0x654
github.com/hanwen/go-fuse/v2/fuse.doLookup(0xc00033c000, 0xc00033c000)
        /code/go/pkg/mod/github.com/hanwen/go-fuse/v2@v2.1.0/fuse/opcode.go:333 +0x6b
github.com/hanwen/go-fuse/v2/fuse.(*Server).handleRequest(0xc000ab2420, 0xc00033c000)
        /code/go/pkg/mod/github.com/hanwen/go-fuse/v2@v2.1.0/fuse/server.go:483 +0x1f3
github.com/hanwen/go-fuse/v2/fuse.(*Server).loop(0xc000ab2420, 0x0)
        /code/go/pkg/mod/github.com/hanwen/go-fuse/v2@v2.1.0/fuse/server.go:456 +0x110
created by github.com/hanwen/go-fuse/v2/fuse.(*Server).readRequest
        /code/go/pkg/mod/github.com/hanwen/go-fuse/v2@v2.1.0/fuse/server.go:323 +0x534
2022-03-08 23:02:30 -08:00
chrislu
3aeee3d748 ensure releasing file handle 2022-03-07 14:01:24 -08:00
chrislu
8136384473 remove debug message 2022-03-07 11:22:26 -08:00
chrislu
46a28b8819 mount: adjust disk space based on quota 2022-03-06 17:22:49 -08:00
chrislu
f3442e36e6 mount: quota adjust error type to be syscall.ENOSPC 2022-03-06 17:04:21 -08:00
chrislu
c7e8ac18f0 mount: quota for one mounted collection
related to https://github.com/seaweedfs/seaweedfs-csi-driver/issues/48
2022-03-06 02:44:40 -08:00
chrislu
b7c992f410 add flag to enforce quota 2022-03-05 22:10:43 -08:00
chrislu
28b8974a3a mount: fix directory pagination when using midnight commander 2022-03-03 02:59:31 -08:00
chrislu
fcf3714443 mount: add back support for filer.path 2022-02-28 12:16:53 -08:00
chrislu
aad62ee148 mount: mark directory uncached if forgotten 2022-02-28 02:08:24 -08:00
chrislu
554e239097 release file handle 2022-02-28 01:23:14 -08:00
chrislu
3639fedd01 mount: fix fsync opened and renamed files 2022-02-28 00:34:17 -08:00
chrislu
63a9d8f01d ensure inodes are not duplicating unless hardlinked 2022-02-27 23:13:49 -08:00
chrislu
de77d00c81 correctly clean up for a file 2022-02-27 23:12:28 -08:00
chrislu
c3792c8352 remove dead code 2022-02-27 03:03:19 -08:00
chrislu
9ef5bb20f6 mount2: invalidate fuse cache for replaced inode 2022-02-27 00:00:23 -08:00
chrislu
b2a148cb4c use file size as max range 2022-02-26 03:00:08 -08:00
chrislu
101e6d80b0 mount2: listXattr return ok if xattr is empty 2022-02-25 14:38:56 -08:00
chrislu
03466f955e rename: delete source entry metadata only, skipping hard links 2022-02-25 02:57:54 -08:00
chrislu
202a29d014 refactoring 2022-02-25 01:17:26 -08:00
chrislu
be3fc77391 mount2: use consistent inode 2022-02-25 00:53:27 -08:00
chrislu
ceaf993a27 mount2: add rdev 2022-02-24 14:51:25 -08:00
chrislu
e31ec04f4f mount2: POSIX deleted opened file nlink should be 0 2022-02-24 01:59:37 -08:00
chrislu
91f0481f4e mount2: SetAttr set mode correctly 2022-02-24 01:31:04 -08:00
chrislu
b93d57da31 mount2: dir read opened file 2022-02-24 00:37:57 -08:00
chrislu
63062ed7f0 mount2: fix unlink 2022-02-18 01:10:53 -08:00
chrislu
93e12d5f30 fix build 2022-02-18 00:48:00 -08:00
chrislu
d62370d4e0 add todo 2022-02-18 00:47:15 -08:00
chrislu
e8ce30fdc5 mount2: adjust file mode 2022-02-18 00:47:02 -08:00
chrislu
f9d33f70b0 return fuse.Status when looking up by inode 2022-02-18 00:45:43 -08:00
chrislu
49b84b6e2a list entries while reading from remote 2022-02-16 21:32:15 -08:00
chrislu
65a19e3abc fix listing with correct inode 2022-02-16 17:01:39 -08:00
chrislu
6ac066d1dc count lookup or not 2022-02-16 16:49:03 -08:00
chrislu
118d0e01a8 less logs 2022-02-16 08:45:07 -08:00
chrislu
a6bc67c34c less logs 2022-02-16 08:38:51 -08:00
chrislu
2facd65998 fix second listing 2022-02-16 08:16:27 -08:00
chrislu
22739c653a clean up 2022-02-16 07:57:08 -08:00
chrislu
65bfeafb5a add back mkdir 2022-02-16 01:09:21 -08:00
chrislu
37e8fce841 clean up cache on exit 2022-02-16 00:39:21 -08:00
chrislu
1560ec7e26 remove unused code 2022-02-16 00:37:24 -08:00
chrislu
3cbce878f2 mount2: fix directory pagination 2022-02-15 22:42:10 -08:00
chrislu
17ac5244c3 mount2: avoid double listing directories 2022-02-15 01:44:17 -08:00
chrislu
222798d926 mount2: fix for read dir plus on linux 2022-02-15 00:29:17 -08:00
chrislu
ebc22625b4 less noisy on mac 2022-02-14 16:38:01 -08:00
chrislu
ff666104c4 fix GOOS 2022-02-14 03:14:05 -08:00
chrislu
4244ef8b72 fix building on linux 2022-02-14 02:59:27 -08:00
chrislu
b9c2bff931 clean up 2022-02-14 02:14:26 -08:00