And implement it on ext2, 3, 4. I don't know all the filesystems
that can have posix permissions, those three will do. if we need
more in the future we implement them, it's two lines of code.
The object QVariant is a native object in the Qt world that represents
any type of value: boolean, integer, string, floating point, date,
UUID...
This change updates the API to use the object QVariant and provide a
more flexible API to represent the filesystem features.
In some cases, it may be necessary to create a filesystem with specific features
enabled/disabled.
This PR makes it possible to create filesystems this way. It does so
by introducing a new m_Features member variable and the createWithFeatures()
function to the FileSystem base class. The latter function is implemented
for the btrfs, ext2/3/4 and FAT filesystems.
Additionnally, the CreateFileSystemJob has been modified to enable
creating/formatting filesystems with specific features enabled.
Differential Revision: https://phabricator.kde.org/D21903
CCBUG: 342178