Bug 481495 - NTFS in the 5.3 kernel does not compile
Summary: NTFS in the 5.3 kernel does not compile
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.3
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Ric Wheeler
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 447297 483701 485920
TreeView+ depends on / blocked
 
Reported: 2009-01-25 17:28 UTC by Akemi Yagi
Modified: 2009-06-20 09:14 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-03-06 17:34:02 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
possible fix for the NTFS bug (996 bytes, patch)
2009-01-25 17:28 UTC, Akemi Yagi
no flags Details | Diff
Patch to remove all NTFS code from kernel source. (1.09 MB, patch)
2009-03-05 14:06 UTC, Alan Bartlett
no flags Details | Diff
A new patch suggested by Eric Sandeen (1013 bytes, patch)
2009-03-06 10:23 UTC, Akemi Yagi
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
CentOS 3363 0 None None None Never

Description Akemi Yagi 2009-01-25 17:28:54 UTC
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[2]: *** [fs/ntfs/aops.o] Error 1
make[1]: *** [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):
kernel 2.6.18-128

How reproducible:
Always

Steps to Reproduce:
1. Enable NTFS
2. Build the kernel (or the NTFS module)
3. Build fails
  
Actual results:
Compilation ends with an error (see the Description).

Expected results:
Should build without an error

Additional info:

Comment 2 RHEL Program Management 2009-02-12 22:12:20 UTC
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.

Comment 3 Akemi Yagi 2009-02-12 22:32:00 UTC
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.

Comment 4 Ric Wheeler 2009-02-13 15:12:07 UTC
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):


http://www.ntfs-3g.org/

Comment 5 RHEL Program Management 2009-02-16 15:07:08 UTC
Updating PM score.

Comment 6 Larry Troan 2009-02-17 13:15:47 UTC
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):
> http://www.ntfs-3g.org/

Additional reference....
http://www.redhat.com/archives/rhelv5-list/2007-May/msg00109.html

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.

Comment 7 Larry Troan 2009-02-17 13:37:24 UTC
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
  Hat."

Checking our KnowledgeBase, I found the following examples:

* http://kbase.redhat.com/faq/docs/DOC-1782
  How do I mount an NTFS partition from the command line and save this in 
  /etc/fstab to mount during the boot sequence?

* http://kbase.redhat.com/faq/docs/DOC-3577
  How can I get access to a Windows file system on Red Hat Enterprise Linux 4?

* http://kbase.redhat.com/faq/docs/DOC-9231
  How do I get my system to work with an NTFS partition?

* http://kbase.redhat.com/faq/docs/DOC-9944
  Why is my Windows Vista partition unbootable after installing Red Hat 
  Enterprise Linux GA? How can I resolve this?

* http://kbase.redhat.com/faq/docs/DOC-7502
  How do I setup a second hard drive on my computer without losing any of the 
  data?

* http://kbase.redhat.com/faq/docs/DOC-4748
  What are the current settings for my Samba configuration?

* http://kbase.redhat.com/faq/docs/DOC-7253
  How can I change the ownership and permissionss of the files on a USB disk
  that has a FAT32 filesystem?

* http://kbase.redhat.com/faq/docs/DOC-9362
  How do I configure dual booting Red Hat Enterprise Linux with Windows XP/2000?

And there are more articles....

Comment 8 Ric Wheeler 2009-02-17 13:43:17 UTC
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?

Comment 10 Brian Hardbarger 2009-02-17 14:57:15 UTC
You mention that with 5.4 we could use NTFS-3G.  How about 5.3?  That's our target at the moment...

Comment 11 Ric Wheeler 2009-02-17 15:35:47 UTC
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.

Comment 12 Ric Wheeler 2009-03-03 15:24:07 UTC
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.

Comment 13 Akemi Yagi 2009-03-03 16:13:50 UTC
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:

http://wiki.centos.org/TipsAndTricks/NTFS

Comment 14 Alan Bartlett 2009-03-05 14:06:37 UTC
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.

Comment 15 Ric Wheeler 2009-03-05 15:24:41 UTC
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.

Comment 16 Eric Sandeen 2009-03-05 15:28:12 UTC
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.

Comment 17 Alan Bartlett 2009-03-05 15:33:54 UTC
(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. :-)

Comment 18 Akemi Yagi 2009-03-06 10:23:00 UTC
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.

Comment 19 Akemi Yagi 2009-03-06 15:54:19 UTC
A brief test on a dual-boot machine was done.  So far no errors.  Will do some more tests.

Comment 20 Eric Sandeen 2009-03-06 17:34:02 UTC
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" :)

Thanks,
-Eric


Note You need to log in before you can comment on or make changes to this bug.