Compare commits
1 Commits
47e4bf222c
...
2fab692cdf
Author | SHA1 | Date |
---|---|---|
Tom Marshall | 2fab692cdf |
|
@ -539,7 +539,7 @@ do_tune(int argc, char** argv)
|
|||
uint64_t optval;
|
||||
uint level = 0;
|
||||
bool repack = false;
|
||||
bool zero_detect = false;
|
||||
tristate_t zero_detect = t_none;
|
||||
|
||||
char dev[PATH_MAX];
|
||||
|
||||
|
@ -564,7 +564,7 @@ do_tune(int argc, char** argv)
|
|||
error("Failed to parse \"%s\"\n", optarg);
|
||||
}
|
||||
}
|
||||
zero_detect = (optval != 0);
|
||||
zero_detect = (optval ? t_true : t_false);
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
|
|
|
@ -85,6 +85,6 @@ int cbd_check(const char* dev,
|
|||
int cbd_resize(const char* dev,
|
||||
uint64_t lsize);
|
||||
int cbd_tune(const char* dev,
|
||||
bool zero_detect, uint level, bool repack);
|
||||
tristate_t zero_detect, uint level, bool repack);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
int
|
||||
cbd_tune(const char* dev,
|
||||
bool zero_detect, uint level, bool repack)
|
||||
tristate_t zero_detect, uint level, bool repack)
|
||||
{
|
||||
int fd;
|
||||
uint8_t header_buf[SECTOR_SIZE];
|
||||
|
@ -20,11 +20,13 @@ cbd_tune(const char* dev,
|
|||
cbd_header_get(header_buf, &header);
|
||||
cbd_check_header(&header);
|
||||
|
||||
if (zero_detect) {
|
||||
header.params.flags |= CBD_FLAG_DETECT_ZEROS;
|
||||
}
|
||||
else {
|
||||
header.params.flags &= ~CBD_FLAG_DETECT_ZEROS;
|
||||
if (zero_detect != t_none) {
|
||||
if (zero_detect == t_true) {
|
||||
header.params.flags |= CBD_FLAG_DETECT_ZEROS;
|
||||
}
|
||||
else {
|
||||
header.params.flags &= ~CBD_FLAG_DETECT_ZEROS;
|
||||
}
|
||||
}
|
||||
if (level) {
|
||||
cbd_compression_level_put(&header.params, level);
|
||||
|
|
Loading…
Reference in New Issue