e653de54b4 
								
									
								
							
								 
							
						 
						
							
							
								
								FUSE Mount: Fix buffer allocation during copy ( #6863 )  
							
							
 
							
							
							Fix buffer allocation during FUSE copy 
							
						 
						5 months ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								bd4891a117 
								
							
								 
							
						 
						
							
							
								
								change version directory  
							
							
								
 
							
							
						 
						5 months ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								283d9e0079 
								
									
								
							
								 
							
						 
						
							
							
								
								Add context with request ( #6824 )  
							
							
								
 
							
							
						 
						5 months ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								61249d8dde 
								
									
								
							
								 
							
						 
						
							
							
								
								clear cache directory when mount exits ( #6605 )  
							
							
 
							
							
							Signed-off-by: lizhengui <lizhengui@virtaitech.com>
Co-authored-by: lizhengui <lizhengui@virtaitech.com> 
							
						 
						8 months ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								e77e50886e 
								
									
								
							
								 
							
						 
						
							
							
								
								mount metacache add ttl ( #6360 )  
							
							
 
							
							
							* fix:mount deadlock
* fix
* feat: metaCache ttl
* Update weed/command/mount.go
Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com>
* fix InodeEntry
---------
Co-authored-by: zemul <zhouzemiao@ihuman.com>
Co-authored-by: Chris Lu <chrislusf@users.noreply.github.com> 
							
						 
						11 months ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								113c9ce6a8 
								
							
								 
							
						 
						
							
							
								
								remove the direct_io flag, as it is not well-supported on macOS  
							
							
								
 
							
							
						 
						12 months ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c0e36231ad 
								
							
								 
							
						 
						
							
							
								
								use only one metadata follow process  
							
							
								
 
							
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								6c986e9d70 
								
									
								
							
								 
							
						 
						
							
							
								
								improve worm support ( #5983 )  
							
							
 
							
							
							* improve worm support
Signed-off-by: lou <alex1988@outlook.com>
* worm mode in filer
Signed-off-by: lou <alex1988@outlook.com>
* update after review
Signed-off-by: lou <alex1988@outlook.com>
* update after review
Signed-off-by: lou <alex1988@outlook.com>
* move to fs configure
Signed-off-by: lou <alex1988@outlook.com>
* remove flag
Signed-off-by: lou <alex1988@outlook.com>
* update after review
Signed-off-by: lou <alex1988@outlook.com>
* support worm hardlink
Signed-off-by: lou <alex1988@outlook.com>
* update after review
Signed-off-by: lou <alex1988@outlook.com>
* typo
Signed-off-by: lou <alex1988@outlook.com>
* sync filer conf
Signed-off-by: lou <alex1988@outlook.com>
---------
Signed-off-by: lou <alex1988@outlook.com> 
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a9c9e1bcb3 
								
							
								 
							
						 
						
							
							
								
								refactor  
							
							
								
 
							
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								eb02946c97 
								
							
								 
							
						 
						
							
							
								
								support write once read many  
							
							
 
							
							
							fix https://github.com/seaweedfs/seaweedfs/issues/5954  
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								18afdb15b6 
								
							
								 
							
						 
						
							
							
								
								Revert "weed mount, weed dav add option to force cache"  
							
							
 
							
							
							This reverts commit 7367b976b0 
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7367b976b0 
								
							
								 
							
						 
						
							
							
								
								weed mount, weed dav add option to force cache  
							
							
								
 
							
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								952afd810c 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix dead lock ( #5815 )  
							
							
 
							
							
							* reduce locks to avoid dead lock
Flush->FlushData->uplloadPipeline.FluahAll
uploaderCount>0
goroutine 1 [sync.Cond.Wait, 71 minutes]:
sync.runtime_notifyListWait(0xc0007ae4d0, 0x0)
	/usr/local/go/src/runtime/sema.go:569 +0x159
sync.(*Cond).Wait(0xc001a59290?)
	/usr/local/go/src/sync/cond.go:70 +0x85
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).waitForCurrentWritersToComplete(0xc0002ee4d0)
	/github/workspace/weed/mount/page_writer/upload_pipeline_lock.go:58 +0x32
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).FlushAll(0xc0002ee4d0)
	/github/workspace/weed/mount/page_writer/upload_pipeline.go:151 +0x25
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).FlushData(0xc00087e840)
	/github/workspace/weed/mount/dirty_pages_chunked.go:54 +0x29
github.com/seaweedfs/seaweedfs/weed/mount.(*PageWriter).FlushData(...)
	/github/workspace/weed/mount/page_writer.go:50
github.com/seaweedfs/seaweedfs/weed/mount.(*WFS).doFlush(0xc0006ad600, 0xc00030d380, 0x0, 0x0)
	/github/workspace/weed/mount/weedfs_file_sync.go:101 +0x169
github.com/seaweedfs/seaweedfs/weed/mount.(*WFS).Flush(0xc0006ad600, 0xc001a594a8?, 0xc0004c1ca0)
	/github/workspace/weed/mount/weedfs_file_sync.go:59 +0x48
github.com/hanwen/go-fuse/v2/fuse.doFlush(0xc0000da870?, 0xc0004c1b08)
SaveContent -> MemChunk.RLock ->
	ChunkedDirtyPages.saveChunkedFileIntervalToStorage
	pages.fh.AddChunks([]*filer_pb.FileChunk{chunk})
		fh.entryLock.Lock()
sync.(*RWMutex).Lock(0x0?)
	/usr/local/go/src/sync/rwmutex.go:146 +0x31
github.com/seaweedfs/seaweedfs/weed/mount.(*FileHandle).AddChunks(0xc00030d380, {0xc00028bdc8, 0x1, 0x1})
	/github/workspace/weed/mount/filehandle.go:93 +0x45
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).saveChunkedFileIntervalToStorage(0xc00087e840, {0x2be7ac0, 0xc00018d9e0}, 0x0, 0x121, 0x17e3c624565ace45, 0x1?)
	/github/workspace/weed/mount/dirty_pages_chunked.go:80 +0x2d4
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*MemChunk).SaveContent(0xc0008d9130, 0xc0008093e0)
	/github/workspace/weed/mount/page_writer/page_chunk_mem.go:115 +0x112
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).moveToSealed.func1()
	/github/workspace/weed/mount/page_writer/upload_pipeline.go:187 +0x55
github.com/seaweedfs/seaweedfs/weed/util.(*LimitedConcurrentExecutor).Execute.func1()
	/github/workspace/weed/util/limited_executor.go:38 +0x62
created by github.com/seaweedfs/seaweedfs/weed/util.(*LimitedConcurrentExecutor).Execute in goroutine 1
	/github/workspace/weed/util/limited_executor.go:33 +0x97
On metadata update
fh.entryLock.Lock()
	fh.dirtyPages.Destroy()
		up.chunksLock.Lock => each sealed chunk.FreeReference => MemChunk.Lock
goroutine 134 [sync.RWMutex.Lock, 71 minutes]:
sync.runtime_SemacquireRWMutex(0xc0007c3558?, 0xea?, 0x3fb0800?)
	/usr/local/go/src/runtime/sema.go:87 +0x25
sync.(*RWMutex).Lock(0xc0007c35a8?)
	/usr/local/go/src/sync/rwmutex.go:151 +0x6a
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*MemChunk).FreeResource(0xc0008d9130)
	/github/workspace/weed/mount/page_writer/page_chunk_mem.go:38 +0x2a
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*SealedChunk).FreeReference(0xc00071cdb0, {0xc0006ba1a0, 0x20})
	/github/workspace/weed/mount/page_writer/upload_pipeline.go:38 +0xb7
github.com/seaweedfs/seaweedfs/weed/mount/page_writer.(*UploadPipeline).Shutdown(0xc0002ee4d0)
	/github/workspace/weed/mount/page_writer/upload_pipeline.go:220 +0x185
github.com/seaweedfs/seaweedfs/weed/mount.(*ChunkedDirtyPages).Destroy(0xc0008cea40?)
	/github/workspace/weed/mount/dirty_pages_chunked.go:87 +0x17
github.com/seaweedfs/seaweedfs/weed/mount.(*PageWriter).Destroy(...)
	/github/workspace/weed/mount/page_writer.go:78
github.com/seaweedfs/seaweedfs/weed/mount.NewSeaweedFileSystem.func3({0xc00069a6c0, 0x30}, 0x6?)
	/github/workspace/weed/mount/weedfs.go:119 +0x17a
github.com/seaweedfs/seaweedfs/weed/mount/meta_cache.NewMetaCache.func1({0xc00069a6c0?, 0xc00069a480?}, 0x4015b40?)
	/github/workspace/weed/mount/meta_cache/meta_cache.go:37 +0x1c
github.com/seaweedfs/seaweedfs/weed/mount/meta_cache.SubscribeMetaEvents.func1(0xc000661810)
	/github/workspace/weed/mount/meta_cache/meta_cache_subscribe.go:43 +0x570
* use locked entry everywhere
* modifiable remote entry
* skip locking after getting lock from fhLockTable 
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								fce8fc1e16 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix Issue  #5649  ( #5652 )  
							
							
								
 
							
							
						 
						1 year ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								31fc165715 
								
							
								 
							
						 
						
							
							
								
								mount switch to ordered lock requests  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f5c4b642bb 
								
							
								 
							
						 
						
							
							
								
								re-ordering  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3852307e94 
								
							
								 
							
						 
						
							
							
								
								renaming  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6c7fa567d4 
								
							
								 
							
						 
						
							
							
								
								add separate cache directory for write buffers  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5c2eb602c9 
								
							
								 
							
						 
						
							
							
								
								Revert "mount: remove mount directory from generating cache directory id"  
							
							
 
							
							
							This reverts commit 109dc7fdf6 
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								109dc7fdf6 
								
							
								 
							
						 
						
							
							
								
								mount: remove mount directory from generating cache directory id  
							
							
 
							
							
							fix https://github.com/seaweedfs/seaweedfs/discussions/3811  
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								5df105b1f9 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix a few data races when reading files in mount ( #3527 )  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8b3429858d 
								
							
								 
							
						 
						
							
							
								
								align memory for atomic read/write  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
								
								
							
							
								
							
								2ef6ab998c 
								
									
								
							
								 
							
						 
						
							
							
								
								Avoid race conditions with current filer address ( #3474 )  
							
							
 
							
							
							When multiple filer requests are in-flight and the current filer
disappears and a new one is selected by the first goroutine, then
there can be a lot of race conditions while retrieving the current
filer.
Therefore, load/save the current filer index atomically. 
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								bd13a7968f 
								
							
								 
							
						 
						
							
							
								
								remove unused symlink resolving  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								26dbc6c905 
								
							
								 
							
						 
						
							
							
								
								move to  https://github.com/seaweedfs/seaweedfs  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								e0eda52c54 
								
							
								 
							
						 
						
							
							
								
								mount: ensure symlink parent directory is tracked  
							
							
 
							
							
							fix https://github.com/chrislusf/seaweedfs/issues/3373  
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2dc5d4adac 
								
							
								 
							
						 
						
							
							
								
								disable symlink translation for now  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								2b64916d3e 
								
							
								 
							
						 
						
							
							
								
								set status to fuse.OK  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7386cf6a06 
								
							
								 
							
						 
						
							
							
								
								mount: resolve symlink  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f32142f6f5 
								
							
								 
							
						 
						
							
							
								
								add disableXAttr in mount option  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d65bb2c6df 
								
							
								 
							
						 
						
							
							
								
								mount: file handle locks entry better  
							
							
 
							
							
							related to https://github.com/chrislusf/seaweedfs/issues/2952  
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5b8b022985 
								
							
								 
							
						 
						
							
							
								
								remove unused parameter  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3ab2c0e5c0 
								
							
								 
							
						 
						
							
							
								
								avoid possible nil attributes  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								958f880b70 
								
							
								 
							
						 
						
							
							
								
								mount: add grpc method to adjust quota  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f70c1e449b 
								
							
								 
							
						 
						
							
							
								
								add useful doc link  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								011a41b561 
								
							
								 
							
						 
						
							
							
								
								add back writes to swap file when too many in memory chunks are used.  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c7e8ac18f0 
								
							
								 
							
						 
						
							
							
								
								mount: quota for one mounted collection  
							
							
 
							
							
							related to https://github.com/seaweedfs/seaweedfs-csi-driver/issues/48  
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								b7c992f410 
								
							
								 
							
						 
						
							
							
								
								add flag to enforce quota  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fcf3714443 
								
							
								 
							
						 
						
							
							
								
								mount: add back support for filer.path  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								9ef5bb20f6 
								
							
								 
							
						 
						
							
							
								
								mount2: invalidate fuse cache for replaced inode  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								93e12d5f30 
								
							
								 
							
						 
						
							
							
								
								fix build  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f9d33f70b0 
								
							
								 
							
						 
						
							
							
								
								return fuse.Status when looking up by inode  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								49b84b6e2a 
								
							
								 
							
						 
						
							
							
								
								list entries while reading from remote  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								22739c653a 
								
							
								 
							
						 
						
							
							
								
								clean up  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								65bfeafb5a 
								
							
								 
							
						 
						
							
							
								
								add back mkdir  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								37e8fce841 
								
							
								 
							
						 
						
							
							
								
								clean up cache on exit  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1560ec7e26 
								
							
								 
							
						 
						
							
							
								
								remove unused code  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								17ac5244c3 
								
							
								 
							
						 
						
							
							
								
								mount2: avoid double listing directories  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fe57a2e770 
								
							
								 
							
						 
						
							
							
								
								file set attribute  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dbeeda8123 
								
							
								 
							
						 
						
							
							
								
								listen for metadata updates  
							
							
								
 
							
							
						 
						4 years ago