/* kernel modifies the range */
memcpy(&range, rangetpl, sizeof(range));
- if (stat(path, &sb) == -1) {
+ fd = open(path, O_RDONLY);
+ if (fd < 0) {
+ warn(_("cannot open %s"), path);
+ return -1;
+ }
+ if (fstat(fd, &sb) == -1) {
warn(_("stat failed %s"), path);
return -1;
}
warnx(_("%s: not a directory"), path);
return -1;
}
-
- fd = open(path, O_RDONLY);
- if (fd < 0) {
- warn(_("cannot open %s"), path);
- return -1;
- }
errno = 0;
if (ioctl(fd, FITRIM, &range)) {
int rc = errno == EOPNOTSUPP || errno == ENOTTY ? 1 : -1;