You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							43 lines
						
					
					
						
							1.1 KiB
						
					
					
				| package main | |
| 
 | |
| import ( | |
| 	"flag" | |
| 	"fmt" | |
| 	"os" | |
| 	"path" | |
| 	"strconv" | |
| 
 | |
| 	"github.com/chrislusf/seaweedfs/weed/glog" | |
| 	"github.com/chrislusf/seaweedfs/weed/storage" | |
| 	"github.com/chrislusf/seaweedfs/weed/storage/types" | |
| ) | |
| 
 | |
| var ( | |
| 	fixVolumePath       = flag.String("dir", "/tmp", "data directory to store files") | |
| 	fixVolumeCollection = flag.String("collection", "", "the volume collection name") | |
| 	fixVolumeId         = flag.Int("volumeId", -1, "a volume id. The volume should already exist in the dir. The volume index file should not exist.") | |
| ) | |
| 
 | |
| /* | |
| This is to see content in .idx files. | |
|  | |
| 	see_idx -v=4 -volumeId=9 -dir=/Users/chrislu/Downloads | |
| */ | |
| func main() { | |
| 	flag.Parse() | |
| 	fileName := strconv.Itoa(*fixVolumeId) | |
| 	if *fixVolumeCollection != "" { | |
| 		fileName = *fixVolumeCollection + "_" + fileName | |
| 	} | |
| 	indexFile, err := os.OpenFile(path.Join(*fixVolumePath, fileName+".idx"), os.O_RDONLY, 0644) | |
| 	if err != nil { | |
| 		glog.Fatalf("Create Volume Index [ERROR] %s\n", err) | |
| 	} | |
| 	defer indexFile.Close() | |
| 
 | |
| 	storage.WalkIndexFile(indexFile, func(key types.NeedleId, offset types.Offset, size uint32) error { | |
| 		fmt.Printf("key:%v offset:%v size:%v\n", key, offset, size) | |
| 		return nil | |
| 	}) | |
| 
 | |
| }
 |