ntfs support doesn't compile

Rui Prior (rprior@inescn.pt)
Tue, 16 Nov 1999 20:08:00 -0000


[1.] One line summary of the problem:

ntfs support doesn't compile

[2.] Full description of the problem/report:

On include/linux/fs.h the field "i_size" of "struct inode" has changed type
from "off_t" to "loff_t". As it is used in a division in line 838 of
"fs/ntfs/fs.c", the kernel linkage fails, complaining about the lack of
symbol "__divdi3".

[3.] Keywords (i.e., modules, networking, kernel):

filesystems ntfs

[4.] Kernel version (from /proc/version):

Linux version 2.3.28 (root@obelix.inescn.pt) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #6 Tue Nov 16 20:00:13 WET 1999

[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)
[6.] A small shell script or example program which triggers the
problem (if possible)
[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)

-- Versions installed: (if some fields are empty or look
-- unusual then possibly you have very old versions)
Linux obelix.inescn.pt 2.3.28 #6 Tue Nov 16 20:00:13 WET 1999 i686 unknown
Kernel modules 2.1.121
Gnu C egcs-2.91.66
Binutils 2.9.1.0.24
Linux C Library 1.2.so
awk: cmd. line:1: (FILENAME=- FNR=2) fatal: attempt to access field -1
Dynamic linker ldd (GNU libc) 2.1.2
Linux C++ Library ..
Procps 2.0.4
Mount 2.9u
Net-tools 1.53
Console-tools 1999.03.02
Sh-utils 2.0
Sh-utils Parker.
Sh-utils
Sh-utils Inc.
Sh-utils NO
Sh-utils PURPOSE.
Modules Loaded

[7.2.] Processor information (from /proc/cpuinfo):

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 6
model name : Celeron (Mendocino)
stepping : 0
cpu MHz : 334.094012
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx osfxsr
bogomips : 333.41

[7.3.] Module information (from /proc/modules):
[7.4.] SCSI information (from /proc/scsi/scsi)
[7.5.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):
[X.] Other notes, patches, fixes, workarounds:

I worked around the problem by casting to "long" before the division.
To fix it would imply an implementation of "__divdi3" for the kernel.
It would also be nice to have "__udivdi3" implemented, as there is a
hack in "fs/ntfs/super.c", line 277, truncating an unsigned long long
to unsigned long in order to avoid a similar error.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/