Commit Graph

590 Commits

Author SHA1 Message Date
chrislu
cd1ad88f30 POSIX: check name is too long ENAMETOOLONG 2022-01-12 00:16:00 -08:00
chrislu
2dcb8cb93b POSIX: ensure file and directory inodes are different
this is just an in memory representation.

POSIX wants different inode numbers for the same named file or directory.
2022-01-11 23:44:48 -08:00
chrislu
10ecf80ca1 add a debug capability to list all metadata keys 2022-01-11 23:25:04 -08:00
chrislu
2d0ccc4d34 add logs 2022-01-11 12:23:01 -08:00
chrislu
b8fbf19e9a mount: rename follow POSIX 2022-01-11 03:23:03 -08:00
chrislu
cbc055dc2b mount: file fsync
fix https://github.com/chrislusf/seaweedfs/issues/2561
2022-01-10 00:52:16 -08:00
chrislu
3df8f96117 avoid changing inode 2022-01-06 01:36:11 -08:00
chrislu
67b0645808 mount: need to change entry name after renaming 2022-01-05 21:27:41 -08:00
chrislu
5c87fcc6d2 add client id for all metadata listening clients 2021-12-30 00:23:57 -08:00
chrislu
f7a6f6b4c0 if this is enabled, there are some "bus error" with git clone 2021-12-28 13:44:52 -08:00
chrislu
0da2dfd640 fuse: change to direct io mode
before and after:

chrislu$ time dd if=/dev/random of=/Users/chrislu/tmp/mm/testfile bs=131072 count=8192
8192+0 records in
8192+0 records out
1073741824 bytes transferred in 4.534068 secs (236816430 bytes/sec)
dd if=/dev/random of=/Users/chrislu/tmp/mm/testfile bs=131072 count=8192  0.01s user 3.86s system 84% cpu 4.561 total
chrislu$ time dd if=/dev/random of=/Users/chrislu/tmp/mm/testfile bs=131072 count=8192
8192+0 records in
8192+0 records out
1073741824 bytes transferred in 3.824072 secs (280784948 bytes/sec)
dd if=/dev/random of=/Users/chrislu/tmp/mm/testfile bs=131072 count=8192  0.01s user 3.22s system 83% cpu 3.857 total
2021-12-28 12:22:56 -08:00
chrislu
2422556456 monitor write pattern: avoid timing due to locking 2021-12-28 01:10:35 -08:00
chrislu
80db8b13d8 bug: cleanup function was called twice 2021-12-27 20:53:02 -08:00
chrislu
9f9ef1340c use streaming mode for long poll grpc calls
streaming mode would create separate grpc connections for each call.
this is to ensure the long poll connections are properly closed.
2021-12-26 00:15:03 -08:00
chrislu
eb4ad2546f use proper chunk size limit option 2021-12-24 22:52:18 -08:00
chrislu
41bbf320bb use 2MB chunk size. cache size is the wrong option 2021-12-24 22:50:19 -08:00
chrislu
083d8e9ece add stream writer
this should improve streaming write performance, which is common in many cases, e.g., copying large files.

This is additional to improved random read write operations: 3e69d19380...19084d8791
2021-12-24 22:38:22 -08:00
chrislu
255a1c7dcd refactor type names 2021-12-23 18:23:18 -08:00
chrislu
f77ca41769 refactor 2021-12-23 17:48:34 -08:00
chrislu
1d36884845 rename files 2021-12-23 17:47:58 -08:00
chrislu
2d1a1f5e03 rename variables and functions 2021-12-23 17:35:57 -08:00
chrislu
6de331b014 clean up 2021-12-23 17:23:21 -08:00
chrislu
032df784ed chunked file works now 2021-12-23 17:17:32 -08:00
chrislu
c2aad1c7ff detect non streaming mode on first write request 2021-12-22 17:20:44 -08:00
chrislu
7b78fc72b0 add page chunk interval list 2021-12-22 02:53:33 -08:00
chrislu
3981d65b68 remove println 2021-12-21 22:24:38 -08:00
chrislu
9a73319b45 mount: different write strategy for streaming write and random write 2021-12-21 17:28:55 -08:00
chrislu
b21a67bbe6 add writer pattern object for later use 2021-12-20 11:53:48 -08:00
chrislu
4fd29dad86 remove writeOnly flag 2021-12-20 01:11:43 -08:00
chrislu
bc96682760 refactor, change file locations 2021-12-20 01:02:23 -08:00
chrislu
866c2657f0 avoid FUSE cache only for the first 512 bytes 2021-12-19 23:13:36 -08:00
chrislu
a152f17937 mount: improve read performance on random reads 2021-12-19 22:43:14 -08:00
liubaojiang
c7abc34dbb rename operation returns the correct old parent path 2021-12-10 00:02:57 +08:00
Chris Lu
0c8dea9de8 go fmt 2021-11-02 23:39:16 -07:00
Chris Lu
24858507cc rename API to avoid confusion 2021-10-30 19:27:25 -07:00
Chris Lu
cca62fdb30 mount: streaming renaming folders 2021-10-17 04:22:42 -07:00
Chris Lu
004e56c1a6 save updated lastTsNs 2021-10-17 02:01:20 -07:00
Chris Lu
93bb7869b8 Revert "mount: fix renaming a deep directory with unvisited directories"
This reverts commit 0ccdb937bb.
2021-10-16 23:52:30 -07:00
Chris Lu
0ccdb937bb mount: fix renaming a deep directory with unvisited directories 2021-10-16 23:33:45 -07:00
Chris Lu
7504be58f9 Avoid xattr printed out as HTTP headers
fix https://github.com/chrislusf/seaweedfs/issues/2336
2021-09-13 04:00:57 -07:00
Chris Lu
e5fc35ed0c change server address from string to a type 2021-09-12 22:47:52 -07:00
Chris Lu
6923af7280 refactoring 2021-09-06 16:20:49 -07:00
Chris Lu
223c1b3571 adjust invalidation logic 2021-08-28 05:21:01 -07:00
nivekuil
8c523d50ad Invalidate mount meta cache more aggressively 2021-08-28 04:26:37 -07:00
Chris Lu
3b2c39f1be mount: set name when mount path equals mount folder
fix https://github.com/chrislusf/seaweedfs/issues/2275#issuecomment-903255876
2021-08-22 04:59:09 -07:00
Chris Lu
c3ffd457ef fix compilation error 2021-08-15 12:40:22 -07:00
Chris Lu
fda2fc47b1 add RetryForever 2021-08-15 12:37:35 -07:00
byunghwa.yun
775dfbae85 Synchronize number of open files 2021-08-11 23:14:56 +09:00
Chris Lu
69655ba8e5 mount: cache on reading remote storage 2021-08-09 22:11:57 -07:00
Chris Lu
6b743dbbf9 refactor client subscribe metadata 2021-08-04 16:25:46 -07:00