Red Hat Bugzilla – Bug 481495
NTFS in the 5.3 kernel does not compile
Last modified: 2009-06-20 05:14:26 EDT
Created attachment 329943 [details]
possible fix for the NTFS bug
Description of problem:
Enabling NTFS in kernel 2.6.18-128 produces the following error:
fs/ntfs/aops.c: In function 'ntfs_readpage':
fs/ntfs/aops.c:418: error: implicit declaration of function 'zero_user_page'
fs/ntfs/aops.c:418: error: 'KM_USER0' undeclared (first use in this function)
fs/ntfs/aops.c:418: error: (Each undeclared identifier is reported only once
fs/ntfs/aops.c:418: error: for each function it appears in.)
make: *** [fs/ntfs/aops.o] Error 1
make: *** [fs/ntfs] Error 2
make: *** [fs] Error 2
This is because of the line in aops.c:
zero_user_page(page, 0, PAGE_CACHE_SIZE, KM_USER0);
The same line appears in compress.c. Removing the offending line from both .c files makes the compilation to complete (patch attached).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Enable NTFS
2. Build the kernel (or the NTFS module)
3. Build fails
Compilation ends with an error (see the Description).
Should build without an error
This bugzilla has Keywords: Regression.
Since no regressions are allowed between releases,
it is also being proposed as a blocker for this release.
Please resolve ASAP.
A follow-up. By applying the patch I provided (deleting the offending lines), the NTFS module does compile. However, loading the compiled module and/or using it leads to errors. I suspect the code is broken somewhere else as well.
Larry, NTFS is not a supported feature in RHEL so I don't think that this qualifies as a regression.
In RHEL5.4, they could build and use a FUSE based ntfs3g module (like Fedora):
Updating PM score.
Opening comment #4 as it offers a workaround to a partner problem.
> In RHEL5.4, they could build and use a FUSE based ntfs3g module (like Fedora):
Note that a partner wants to use this function for internal tools and tested it in 5.2. It worked but I agree with Ric that since NTFS is not supported in RHEL5, this is not a regression.
Do we need a release note to clarify Red Hat's support position on this matter?
I checked the RHEL5.3 RELEASE NOTES and there is no mention of support for or lack thereof for ntfs. It is however covered in KBase article http://kbase.redhat.com/faq/docs/DOC-9231
"The following information has been provided by Red Hat, but is outside the
scope of our posted Service Level Agreements ( https://www.redhat.com/
/support/service/sla/ ) and support procedures. The information is provided
as-is and any configuration settings or installed applications made from
the information in this article could make the Operating System unsupported
by Red Hat Support Services. The intent of this article is to provide you
with information to accomplish your system needs. Use the information in
this article at your own risk.
Red Hat kernels are built to operate with particular filesystems. Red Hat
compiles it's kernels with native support with the ext2 and ext3
filesystems. Due to uncertain legal issues of using an NTFS driver, Red
Hat kernels do not nativly support NTFS.
Short of compiling a custom kernel with NTFS support built-in, there are
RPMs available that will provide functionality with NTFS. These RPMs, as
well as instructions for compiling a kernel with NTFS support built-in,
can be found at: http://www.linux-ntfs.org/doku.php?id=kernel_driver .
Please note, this is not a program endorsed or supported by Red Hat.
Recompiling the kernel will cause the kernel to be unsupported by Red
Checking our KnowledgeBase, I found the following examples:
How do I mount an NTFS partition from the command line and save this in
/etc/fstab to mount during the boot sequence?
How can I get access to a Windows file system on Red Hat Enterprise Linux 4?
How do I get my system to work with an NTFS partition?
Why is my Windows Vista partition unbootable after installing Red Hat
Enterprise Linux GA? How can I resolve this?
How do I setup a second hard drive on my computer without losing any of the
What are the current settings for my Samba configuration?
How can I change the ownership and permissionss of the files on a USB disk
that has a FAT32 filesystem?
How do I configure dual booting Red Hat Enterprise Linux with Windows XP/2000?
And there are more articles....
This BZ is about the kernel NTFS implementation - we do plan to support FUSE in RHEL5.4, so the customer could install the FUSE based (NTFS3G) file system to provide this functionality.
Can you clarify with the partner if this resolves the issue for them?
You mention that with 5.4 we could use NTFS-3G. How about 5.3? That's our target at the moment...
We have the infrastructure in 5.3 that would allow you to build the FUSE kernel module, but do not have FUSE built by default.
I am going to close this as won't fix, but will be happy to work with you on getting NFS3G running on top of the newly supported 5.4 FUSE components if you have issues.
I understand why NTFS is not going to be fixed. In that case, I suggest removing the code entirely. Unsuspecting customers might try to compile it just to find it does not work. They would eventually find what the cause but only after wasting some time. In my humble opinion, including broken code in the product does not make much sense (regardless of whether or not that particular code is supported).
For those who get to this bugzilla in an attempt to get the NTFS module working, CentOS users have been instructed to use ntfs-3g. You can find the howto at:
Created attachment 334130 [details]
Patch to remove all NTFS code from kernel source.
In view of comment #13 and the CLOSED WONTFIX status of this bug, I would earnestly urge that this submitted patch be applied so that the defective NTFS code is removed from the kernel sources. By taking this action, it will alleviate any possible future confusion.
Removing a file system (or other broken drivers, etc) is best done upstream where this might or might not be broken.
In general, we don't try to prune the kernel source of unsupported features in RHEL since that adds yet another set of kernel patches that we would have to maintain.
Nobody was suggesting that it be removed upstream, I think. This looks more like an exasperated response to us breaking otherwise-building code in 5.3 and opting not to fix it.
(In reply to comment #16)
> Nobody was suggesting that it be removed upstream, I think. This looks more
> like an exasperated response to us breaking otherwise-building code in 5.3 and
> opting not to fix it.
Yes, you've got it Eric (apart for the exasperated part ;-) ). Kernel source code from the Linux Kernel Archive is fine -- it is Red Hat's broken code that should be removed, please. :-)
Created attachment 334280 [details]
A new patch suggested by Eric Sandeen
Eric suggested a new patch. Instead of removing the offending line, make a correction to it. With this patch, the ntfs module compiles and loads fine. Thanks, Eric. Thanks also goes to Alan.
More test (actual use) pending.
A brief test on a dual-boot machine was done. So far no errors. Will do some more tests.
Although I did suggest a workaround offline for anyone who wants to build it, I didn't mean to imply that we'd spin up the RHEL release process to fix a filesystem we don't support. I'm afraid I'm going to re-close this for now. I know it's unfortunate but we need to draw the line somewhere, and that line is usually between "things supported in RHEL" and "things not supported in RHEL" :)