|  |  | @ -3,7 +3,10 @@ package filer2 | 
			
		
	
		
			
				
					|  |  |  | import ( | 
			
		
	
		
			
				
					|  |  |  | 	"context" | 
			
		
	
		
			
				
					|  |  |  | 	"errors" | 
			
		
	
		
			
				
					|  |  |  | 	"time" | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	"github.com/chrislusf/seaweedfs/weed/pb/filer_pb" | 
			
		
	
		
			
				
					|  |  |  | 	"github.com/chrislusf/seaweedfs/weed/stats" | 
			
		
	
		
			
				
					|  |  |  | 	"github.com/chrislusf/seaweedfs/weed/util" | 
			
		
	
		
			
				
					|  |  |  | ) | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -45,16 +48,28 @@ func (fsw *FilerStoreWrapper) Initialize(configuration util.Configuration) error | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func (fsw *FilerStoreWrapper) InsertEntry(ctx context.Context, entry *Entry) error { | 
			
		
	
		
			
				
					|  |  |  | 	stats.FilerStoreCounter.WithLabelValues(fsw.actualStore.GetName(), "insert").Inc() | 
			
		
	
		
			
				
					|  |  |  | 	start := time.Now() | 
			
		
	
		
			
				
					|  |  |  | 	defer func() { stats.FilerStoreHistogram.WithLabelValues(fsw.actualStore.GetName(), "insert").Observe(time.Since(start).Seconds()) }() | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	filer_pb.BeforeEntrySerialization(entry.Chunks) | 
			
		
	
		
			
				
					|  |  |  | 	return fsw.actualStore.InsertEntry(ctx, entry) | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func (fsw *FilerStoreWrapper) UpdateEntry(ctx context.Context, entry *Entry) error { | 
			
		
	
		
			
				
					|  |  |  | 	stats.FilerStoreCounter.WithLabelValues(fsw.actualStore.GetName(), "update").Inc() | 
			
		
	
		
			
				
					|  |  |  | 	start := time.Now() | 
			
		
	
		
			
				
					|  |  |  | 	defer func() { stats.FilerStoreHistogram.WithLabelValues(fsw.actualStore.GetName(), "update").Observe(time.Since(start).Seconds()) }() | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	filer_pb.BeforeEntrySerialization(entry.Chunks) | 
			
		
	
		
			
				
					|  |  |  | 	return fsw.actualStore.UpdateEntry(ctx, entry) | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func (fsw *FilerStoreWrapper) FindEntry(ctx context.Context, fp FullPath) (entry *Entry, err error) { | 
			
		
	
		
			
				
					|  |  |  | 	stats.FilerStoreCounter.WithLabelValues(fsw.actualStore.GetName(), "find").Inc() | 
			
		
	
		
			
				
					|  |  |  | 	start := time.Now() | 
			
		
	
		
			
				
					|  |  |  | 	defer func() { stats.FilerStoreHistogram.WithLabelValues(fsw.actualStore.GetName(), "find").Observe(time.Since(start).Seconds()) }() | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	entry, err = fsw.actualStore.FindEntry(ctx, fp) | 
			
		
	
		
			
				
					|  |  |  | 	if err != nil { | 
			
		
	
		
			
				
					|  |  |  | 		return nil, err | 
			
		
	
	
		
			
				
					|  |  | @ -64,10 +79,18 @@ func (fsw *FilerStoreWrapper) FindEntry(ctx context.Context, fp FullPath) (entry | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func (fsw *FilerStoreWrapper) DeleteEntry(ctx context.Context, fp FullPath) (err error) { | 
			
		
	
		
			
				
					|  |  |  | 	stats.FilerStoreCounter.WithLabelValues(fsw.actualStore.GetName(), "delete").Inc() | 
			
		
	
		
			
				
					|  |  |  | 	start := time.Now() | 
			
		
	
		
			
				
					|  |  |  | 	defer func() { stats.FilerStoreHistogram.WithLabelValues(fsw.actualStore.GetName(), "delete").Observe(time.Since(start).Seconds()) }() | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	return fsw.actualStore.DeleteEntry(ctx, fp) | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | func (fsw *FilerStoreWrapper) ListDirectoryEntries(ctx context.Context, dirPath FullPath, startFileName string, includeStartFile bool, limit int) ([]*Entry, error) { | 
			
		
	
		
			
				
					|  |  |  | 	stats.FilerStoreCounter.WithLabelValues(fsw.actualStore.GetName(), "list").Inc() | 
			
		
	
		
			
				
					|  |  |  | 	start := time.Now() | 
			
		
	
		
			
				
					|  |  |  | 	defer func() { stats.FilerStoreHistogram.WithLabelValues(fsw.actualStore.GetName(), "list").Observe(time.Since(start).Seconds()) }() | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 	entries, err := fsw.actualStore.ListDirectoryEntries(ctx, dirPath, startFileName, includeStartFile, limit) | 
			
		
	
		
			
				
					|  |  |  | 	if err != nil { | 
			
		
	
		
			
				
					|  |  |  | 		return nil, err | 
			
		
	
	
		
			
				
					|  |  | 
 |