Revert "hdd_menu: only offer filesystems with kernel support"

- breaks user-space fs like exfat

This reverts commit bb5fbb9954.


Origin commit data
------------------
Branch: ni/coolstream
Commit: 6d287e46f7
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2015-02-10 (Tue, 10 Feb 2015)



------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2015-02-10 15:07:28 +03:00
parent 8d073853d2
commit d55b0c3bf9
2 changed files with 0 additions and 30 deletions

View File

@@ -217,36 +217,9 @@ std::string CHDDMenuHandler::getFmtType(std::string name, std::string part)
return ret; return ret;
} }
void CHDDMenuHandler::check_kernel_fs()
{
char line[128]; /* /proc/filesystems lines are shorter */
kernel_fs_list.clear();
FILE *f = fopen("/proc/filesystems", "r");
if (! f) {
fprintf(stderr, "CHDDMenuHandler::%s: opening /proc/filesystems failed: %m\n", __func__);
return;
}
while (fgets(line, sizeof(line), f)) {
size_t l = strlen(line);
if (l > 0)
line[l - 1] = 0; /* remove \n */
char *tab = strchr(line, '\t');
if (! tab) /* should not happen in any kernel I have seen */
continue;
tab++;
kernel_fs_list.insert(string(tab));
}
fclose(f);
}
void CHDDMenuHandler::check_dev_tools() void CHDDMenuHandler::check_dev_tools()
{ {
for (unsigned i = 0; i < FS_MAX; i++) { for (unsigned i = 0; i < FS_MAX; i++) {
if (kernel_fs_list.find(devtools[i].fmt) == kernel_fs_list.end()) {
printf("%s: filesystem '%s' not supported by kernel\n",
__func__, devtools[i].fmt.c_str());
continue;
}
if (!access(devtools[i].fsck.c_str(), X_OK)) if (!access(devtools[i].fsck.c_str(), X_OK))
devtools[i].fsck_supported = true; devtools[i].fsck_supported = true;
if (!access(devtools[i].mkfs.c_str(), X_OK)) if (!access(devtools[i].mkfs.c_str(), X_OK))
@@ -719,7 +692,6 @@ int CHDDMenuHandler::doMenu()
show_menu = false; show_menu = false;
in_menu = true; in_menu = true;
check_kernel_fs();
check_dev_tools(); check_dev_tools();
_show_menu: _show_menu:

View File

@@ -64,7 +64,6 @@ class CHDDMenuHandler : public CMenuTarget
bool mounted; bool mounted;
}; };
std::vector<hdd_s> hdd_list; std::vector<hdd_s> hdd_list;
std::set<std::string> kernel_fs_list;
struct cmp_hdd_by_name: public binary_function <const struct hdd_s, const struct hdd_s, bool> struct cmp_hdd_by_name: public binary_function <const struct hdd_s, const struct hdd_s, bool>
{ {
bool operator() (const struct hdd_s c1, const struct hdd_s c2) bool operator() (const struct hdd_s c1, const struct hdd_s c2)
@@ -85,7 +84,6 @@ class CHDDMenuHandler : public CMenuTarget
bool add_dev(std::string dev, std::string part); bool add_dev(std::string dev, std::string part);
bool waitfordev(std::string dev, int maxwait); bool waitfordev(std::string dev, int maxwait);
void check_dev_tools(); void check_dev_tools();
void check_kernel_fs();
devtool_s * get_dev_tool(std::string fmt); devtool_s * get_dev_tool(std::string fmt);
int showDeviceMenu(std::string dev); int showDeviceMenu(std::string dev);