fs_crypto_migrate_control()

Updated: April 19, 2023

Control encryption migration within the filesystem

Synopsis:

#include <fs_crypto_api.h>
#include <sys/fs_crypto.h>

int fs_crypto_migrate_control( const char *path,
                               uint32_t operation,
                               uint64_t context,
                               int *preply );

Arguments:

path
The path to the volume on which the migration is to occur.
operation
One of the following:
  • FS_CRYPTO_MIGRATE_DISABLE — pause and then stop the migration service.
  • FS_CRYPTO_MIGRATE_PAUSE — pause the migration service after completing either the current work unit or the current scan for files to migrate.
  • FS_CRYPTO_MIGRATE_PERIOD — set the period between units of migration work to be the number of milliseconds specified by the context argument.
  • FS_CRYPTO_MIGRATE_START — initiate migration of files within the volume. Specific files and/or quantity of work are determined internally unless overridden by a different migration control.
  • FS_CRYPTO_MIGRATE_STOP — stop migration work after the current work unit is completed.
  • FS_CRYPTO_MIGRATE_UNITS — set the number of filesystem blocks to migrate in one work unit to be the value of the context argument.
context
Specific data for the migration command.
preply
A pointer to a location where the function can store additional success or error information.

Library:

libfscrypto

Use the -l fscrypto option to qcc to link against this library.

Description:

The fs_crypto_migrate_control() function controls the operation and the characteristics of the encryption migration within the filesystem.

Note: In order to use filesystem encryption, download the Encrypted Filesystem package from the QNX Software Center.

This function sets the variable pointed to by preply to one of the following values:

FS_CRYPTO_REPLY_ALREADY
The migration service is already in the requested state.
FS_CRYPTO_REPLY_COMPLETE
The operation has been successfully completed.
FS_CRYPTO_REPLY_ERRNO
See the error code for more information.
FS_CRYPTO_REPLY_INVALID
The command wasn't completed successfully.
FS_CRYPTO_REPLY_NOSUPPORT
The specified operation is invalid.

Returns:

EOK
Success.
EINVAL
Invalid arguments.
ENOTSUP
The specified operation is invalid.

This function can also return any of the errors indicated by devctl(), open(), or pthread_mutex_lock().

Classification:

QNX Neutrino

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes