Пытаюсь найти способ получить значение видндового атрибута Hidden для разных файловых систем. И если с FAT(ioctl) и NTFS(getxattr) довольно не сложно оказалось, то с exFAT что-то никак не идёт.
Как я понял ioctl получения атрибутов для exFAT не реализован ни в яделном модуле, ни в fuse(тут вроде что-то обещают, но только в версии 1.4, которая будет неизвестно когда).
При этом я нашел в коде ядерного модуля упоминания об атрибутах и даже функции, которыми теоретически можно было бы эти атрибуты получить.
static int exfat_getattr(const struct path *path, struct kstat *stat,
u32 request_mask, unsigned int flags)
{
struct inode *inode = path->dentry->d_inode;
pr_debug("%s entered\n", __func__);
generic_fillattr(inode, stat);
stat->blksize = EXFAT_SB(inode->i_sb)->fs_info.cluster_size;
pr_debug("%s exited\n", __func__);
return 0;
}
Но вот как дернуть этот вызов из ядерного модуля(и сработает ли это) я совсем пока придумать не могу.
Может есть какой-то общий способ(который я не знаю) как дернуть что-то из ядра? Процедура же статическая.
Надеюсь кто сталкивался с таким и что-нибудь посоветует.
Возможно это лучше в Development перенести. Размещаю в General, т.к. вдруг есть вариант не только из кода, но и какой-нибудь утилитой эти атрибуты вытащить.