When booted from a cdrom the fs_swap would exit with FILE_ERR_BADDEV,
this causes fs_open to abort too early.
We don't need to check file->device_kind != FILE_DEVICE_BLOCK as we're
only called when that is true.
Demote the return value to FILE_ERR_BAD_FSYS which allows fs_open to
look for other filesystems on the device.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
DEBUG_ENTER;
DEBUG_OPEN;
- if (file->device_kind != FILE_DEVICE_BLOCK || part == NULL) {
- DEBUG_LEAVE(FILE_ERR_BADDEV);
- return FILE_ERR_BADDEV;
+ if (part == NULL) {
+ DEBUG_F("No partions on %s, not checking for swap\n", device_name);
+ DEBUG_LEAVE(FILE_ERR_BAD_FSYS);
+ return FILE_ERR_BAD_FSYS;
}
/* We assume that device is "short" and is correctly NULL terminsated */