#define SCSI_PARTITION_LENGTH 9
#define EXTENDEDSD_NODE_PATH "/dev/mapper/extendedsd"
+#define FILESYSTEM_NAME "filesystem"
+
#define DEV_PREFIX "/dev/"
#define ROOT_DIR "/"
#define EXT4_NAME "ext4"
#define LUKS_NAME "crypto_LUKS"
#define EXTENDEDSD_NAME "extendedsd"
-#define FILESYSTEM_NAME "filesystem"
/* Minimum value of block id */
#define BLOCK_ID_MIN 10
goto out;
bdev = find_block_device_by_id(id);
-
if (!bdev) {
_E("Failed to find (%d) in the device list", id);
goto out;
}
prev_state = bdev->data->state;
-
- if (bdev->data->fs_type != NULL && !strncmp(bdev->data->fs_type, LUKS_NAME, strlen(LUKS_NAME))) {
- struct block_device *bdev_extended;
- bdev_extended = find_block_device_path(EXTENDEDSD_MOUNT_PATH);
- if (bdev_extended) {
- int wait;
- const char *devnode_extended = bdev_extended->data->devnode;
- BLOCK_FLAG_SET(bdev_extended->data, UNMOUNT_UNSAFE);
- bdev_extended->removed = true;
-
- if (bdev_extended->on_private_op != REQ_NORMAL) {
- bdev_extended->on_private_op = REQ_NORMAL;
- _D("Private operation state: %d", bdev_extended->on_private_op);
- }
-
- ret = add_operation(bdev_extended, BLOCK_DEV_UNMOUNT, NULL, (void *)UNMOUNT_FORCE);
- if (ret < 0) {
- _E("Failed to add operation (unmount %s)", devnode_extended);
- goto out;
- }
-
- ret = add_operation(bdev_extended, BLOCK_DEV_REMOVE, NULL, NULL);
- if (ret < 0) {
- _E("Failed to add operation (remove %s)", devnode_extended);
- goto out;
- }
-
- ret = add_operation(bdev_extended, BLOCK_LUKS_CLOSE, NULL, NULL);
- if (ret < 0) {
- _E("Failed to add operation (luks_close %s)", devnode_extended);
- goto out;
- }
-
- for (wait = 0; wait < 10; wait++) {
- if (!access(EXTENDEDSD_NODE_PATH, F_OK))
- sleep(1);
- else
- break;
- }
-
- if (wait == 10)
- _E("Timeout for checking access(EXTENDEDSD_NODE_PATH, F_OK)");
- }
-
- ret = update_block_data(bdev->data,
- FILESYSTEM_NAME,
- type,
- "1.0",
- NULL,
- 0,
- false);
- if (ret < 0)
- _E("Fail to update block data for %s", bdev->data->devnode);
-
- prev_state = BLOCK_MOUNT;
- } else if (prev_state == BLOCK_MOUNT) {
+ if (prev_state == BLOCK_MOUNT) {
if (bdev->on_private_op == REQ_PRIVATE) {
bdev->on_private_op = REQ_PRIVATE_FORMAT;
_D("Private operation state: %d", bdev->on_private_op);
}
-
ret = add_operation(bdev, BLOCK_DEV_UNMOUNT, NULL, (void *)UNMOUNT_FORCE);
if (ret < 0) {
_E("Failed to add operation (unmount %s)", bdev->data->devnode);