I do not find where to configure it. In my opinion, it seems as if we should give the <k,m,n> parameters when we create a file.
-s -- meta server name or ip
-p -- meta server port
-d -- source path; "-" means stdin
-k -- destination (qfs) path
[-v] -- verbose debug trace
[-r] -- replication factor; default 3
[-W] -- testing -- number test rewrites
[-n] -- dry run
[-a] -- append
[-b] -- input buffer size in bytes; default is 8MB
[-w] -- qfs write buffer size in bytes; default is 4MB, or 1MB per stripe
[-t] -- truncate destination files if exist
[-x] -- delete destination files if exist
[-u] -- stripe size
[-y] -- data stripes count
[-z] -- recovery stripes count (0 or 3 with file type 2)
[-S] -- 6+3 RS 64KB stripes 1 replica
[-R] -- op retry count, default -1 -- qfs client default
[-D] -- op retry delay, default -1 -- qfs client default
[-T] -- op timeout, default -1 -- qfs client default
[-X] -- create exclusive
[-m] -- min storage tier
[-l] -- max storage tier
[-B] -- write from this position
[-f] -- configuration file name
[-F] -- file type -- default 1 or 2 if stripe count not 0
When we use -S, it simply means <rs 1, 6+3>, we can use -y to change numstripes to other num. We can also use -r to set the replication factor.
I don't know what it will do when we set the conflicted parameters. I simply make sure that the parameters are not conflicted.
I find a bug (may be not) that I use -S to create a file of encoded with RS(6,3), then I use -y 5 to change its number stripes from 6 to 5, the cptoqfs gives no errors and the file are still RS(6,3) encoded.
1. cptoqfs -s localhost -p 20000 -S -r 1 -k /qfs/tmp/helloworld -d README.md
2.cptoqfs -s localhost -p 20000 -y 5 -k /qfs/tmp/helloworld -d README.md
In my opinion, if it gives nothing, it means successful. But I use qfsstat to see /qfs/tmp/helloworld. It changes nothing, still encoded with RS(6,3)
在 2016年5月25日星期三 UTC+8上午8:28:32,peng li写道: