*
* Vendor Model Firmware Controller # drives tested
* Intel (Lenovo) SSDSC2BW180A3L LE1i SandForce 2281 1
- * Intel (Lenovo) SSDSC2BW180A3L LF1i SandForce 2281 2
+ * Intel (Lenovo) SSDSC2BW180A3L LF1i SandForce 2281 3
*
* We ensured that the problem is not coming from other parts by running
* this test on other SSD drives, which don't show this problem:
*
* Vendor Model Firmware Controller # drives tested
* Intel SSDSA2M160G2GC 2CV102HD Intel 1
+ * Intel SSDSA2CW300G310 ??????? Intel 1 (over USB on 3.8 kernel)
+ * Intel SSDSA2CT040G3 4PC10302 Intel 1 (3.2 kernel)
+ * Intel SSDSA2CT040G3 4PC10362 Intel 1 (3.2 kernel)
+ * Intel SSDSC2CT120A3K5 ??????? SandForce 2281 1 (on HP SmartArray P212 with 3.2 kernel)
*
* Under Linux (Debian, Ubuntu, various kernels), after about 5 minutes,
* we get this result:
#include <string.h>
enum write_mode {
- WRITE_RANDOM,
+ WRITE_RANDOM = 0,
WRITE_ZEROES,
};
printf("Creating file %s of length %zu, random seed %u\n", argv[1], len,
seed);
- if (strcmp(argv[4], "-r") == 0) {
- printf("Generating random data\n");
- write_mode = WRITE_RANDOM;
- } else if (strcmp(argv[4], "-z") == 0) {
- printf("Filling with zeroes (compressible pattern)\n");
- write_mode = WRITE_ZEROES;
- } else {
- printf("Invalid argument %s\n", argv[4]);
- exit(EXIT_FAILURE);
- }
-
for (i = 4; i < argc; i++) {
if (strcmp(argv[i], "-z") == 0) {
write_mode = WRITE_ZEROES;
}
}
- if (verify_mode) {
- printf("Verification mode activated.\n");
- }
-
switch (write_mode) {
case WRITE_RANDOM:
+ printf("Generating random data\n");
+ break;
case WRITE_ZEROES:
+ printf("Filling with zeroes (compressible pattern)\n");
break;
default:
printf("Unsupported write-mode\n");
exit(EXIT_FAILURE);
}
+ if (verify_mode) {
+ printf("Verification mode activated.\n");
+ }
+
/* Grow file */
pos = lseek(fd, len - 1, SEEK_SET);
if (pos < 0) {