From fs/super.c in the kernel source tree:
Code:
struct file_system_type *get_fs_type(const char *name)
{
struct file_system_type *fs;
read_lock(&file_systems_lock);
fs = *(find_filesystem(name));
if (fs && !try_inc_mod_count(fs->owner))
fs = NULL;
read_unlock(&file_systems_lock);
if (!fs && (request_module(name) == 0)) {
read_lock(&file_systems_lock);
fs = *(find_filesystem(name));
if (fs && !try_inc_mod_count(fs->owner))
fs = NULL;
read_unlock(&file_systems_lock);
}
return fs;
} get_fs_type is called on the filesystem name to use every time you try to mount something.
Notice the "if (!fs && (request_module(name) == 0)) {" line? See? It's not a sequence problem, since the kernel requests the filesystem module if it isn't already present. No offense, I just really wanted to prove my point. Btw., that functionality has been there since at least the 2.2 kernel series, so it's not a version problem.
Smokie: No offense, but isn't it quite obvious that ntfs won't show up in /proc/filesystems when mount explicitly states that the kernel didn't recognize the filesystem type?
bignester: Probably, you just forgot to compile NTFS support. If you are completely certain that you did, double-check to see that the module is installed. Also, check your syslog after the mount attempt to see if it says something useful.