summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
cacb745)
The efi tests may use a filesystem which does not support
ioctl_iflags. Add a check and skip the ioctl_iflags
operations if not supported.
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
return -1;
rc = ioctl(fd, FS_IOC_GETFLAGS, &flag);
return -1;
rc = ioctl(fd, FS_IOC_GETFLAGS, &flag);
+ if (rc == -1 && errno == ENOTTY) {
+ pb_debug_fn("'%s' does not support ioctl_iflags.\n",
+ efivarfs_path);
+ goto delete;
+ } else if (rc == -1) {
+ pb_log_fn("FS_IOC_GETFLAGS failed: (%d) %s\n", errno,
+ strerror(errno));
flag &= ~FS_IMMUTABLE_FL;
rc = ioctl(fd, FS_IOC_SETFLAGS, &flag);
flag &= ~FS_IMMUTABLE_FL;
rc = ioctl(fd, FS_IOC_SETFLAGS, &flag);
+ if (rc == -1) {
+ pb_log_fn("FS_IOC_SETFLAGS failed: (%d) %s\n", errno,
+ strerror(errno));
close(fd);
fd = 0;
rc = unlink(path);
close(fd);
fd = 0;
rc = unlink(path);
+ if (rc == -1) {
+ pb_log_fn("unlink failed: (%d) %s\n", errno, strerror(errno));
+ goto exit;
+ }
exit:
talloc_free(path);
close(fd);
exit:
talloc_free(path);
close(fd);