2016-08-15 2 views
0

Есть ли библиотека, которая может управлять разделами ext4 со всеми функциями, которые она предоставляет для C#?Манипулирование разделов ext4 на C#

Другие вопросы, которые задают вопрос о том, что все говорят, что вы должны монтировать раздел с помощью программы, например Ext2Fsd, и управлять ею с помощью библиотеки файлов IO по умолчанию. Проблема в том, что с помощью этого метода у меня все еще есть ограничение на полное имя пути на 255 символов, потому что библиотека IO Windows не ожидает записи разделов, которая позволяет больше этого.

+0

Возможно, мне следует изменить вопрос на «Как записать файлы с полным именем более 255 символов в Windows»? –

ответ

0

Библиотека ext2fs, которая поставляется как часть e2fsprogs, имеет поддержку Windows, но на данный момент она, вероятно, чрезвычайно размыта. Увы, lib/ext2fs/ntfs_io.c не был обновлен в течение длительного времени, а lib/ext2fs/getsize.c понимает, как получить 32-разрядные размеры устройства из Windows (в то время, когда последний код Windows был активным мы не поддерживали 64-разрядную версию номера ext4.) И, конечно, почти наверняка есть некоторые Linuxisms, которые не были правильно # ifdef'ed.

Это говорит о том, что поддержка e2fsprogs поддерживается MacOS X и FreeBSD, а также имеет очень старый код поддержки Windows NT, поэтому он предназначен для переносимости, и это, безусловно, не является специфичным для Linux/glibc. Если уж на то пошло, он даже будет построен на системах Android с бионическим libc! :-)

Если вы хотите попробовать свои силы при попытке модернизировать e2fsprogs и/или просто libext2fs для современных систем Windows, пожалуйста, не стесняйтесь попробовать и отправить мне патчи; Я рад рассмотреть и интегрировать их. Пожалуйста, используйте рекомендации по представлению ядра Linux (не запросы на github pull, так как они не могут быть эффективно проанализированы). Дерево git можно найти здесь: https://git.kernel.org/cgit/fs/ext2/e2fsprogs.git

Смежные вопросы