Re: The whole bunch of unresolved symbols in 2.3.30pre5

Benjamin C.R. LaHaise (blah@kvack.org)
Fri, 3 Dec 1999 13:08:25 -0500 (EST)


On Fri, 3 Dec 1999, Alan Cox wrote:

> I thought Ben was working on getting all this stuff in ?

Sorry, I've been a bit slow at getting the last bits done.

> Are the patches for the shifts available anywhere ?

Not the shifts alone. For a good chunk of them, I was hoping they'd come
from the maintainers of the filesystems as they *do* need to be tested,
and I only use 3 filesystems. So far, most filesystems have been caught
over the last few releases.

I'm not going to fi affs -- it needs to be properly updated to use the new
generic_file_write code. Below is a patch for NTFS that is untested, only
fixes the 64 bit glitches, but doesn't fix the udate_vm_cache gotchas.
Does NTFS have a maintainer?

-ben

diff -ur clean/2.3.30pre3/fs/ntfs/fs.c 2.3.30pre3/fs/ntfs/fs.c
--- clean/2.3.30pre3/fs/ntfs/fs.c Thu Aug 26 17:18:06 1999
+++ 2.3.30pre3/fs/ntfs/fs.c Fri Dec 3 12:55:17 1999
@@ -835,7 +835,7 @@
/* Number of files is limited by free space only, so we lie here */
fs.f_ffree=0;
mft=iget(sb,FILE_MFT);
- fs.f_files=mft->i_size/vol->mft_recordsize;
+ fs.f_files=mft->i_size >> vol->mft_recordbits;
iput(mft);

/* should be read from volume */
diff -ur clean/2.3.30pre3/fs/ntfs/super.c 2.3.30pre3/fs/ntfs/super.c
--- clean/2.3.30pre3/fs/ntfs/super.c Mon Apr 12 13:05:58 1999
+++ 2.3.30pre3/fs/ntfs/super.c Fri Dec 3 12:57:18 1999
@@ -91,12 +91,13 @@
if(vol->mft_clusters_per_record<0 && vol->mft_clusters_per_record!=-10)
ntfs_error("Unexpected data #4 in boot block\n");

- vol->clustersize=vol->blocksize*vol->clusterfactor;
- if(vol->mft_clusters_per_record>0)
- vol->mft_recordsize=
- vol->clustersize*vol->mft_clusters_per_record;
+ vol->clustersize = vol->blocksize * vol->clusterfactor;
+ if (vol->mft_clusters_per_record > 0)
+ vol->mft_recordbits = vol->clustersize * vol->mft_clusters_per_record;
else
- vol->mft_recordsize=1<<(-vol->mft_clusters_per_record);
+ vol->mft_recordbits = -vol->mft_clusters_per_record;
+
+ vol->mft_recordsize = 1 << vol->mft_recordbits;
vol->index_recordsize=vol->clustersize*vol->index_clusters_per_record;
/* FIXME: long long value */
vol->mft_cluster=NTFS_GETU64(boot+0x30);
diff -ur clean/2.3.30pre3/include/linux/ntfs_fs_sb.h 2.3.30pre3/include/linux/ntfs_fs_sb.h
--- clean/2.3.30pre3/include/linux/ntfs_fs_sb.h Fri Dec 19 18:24:22 1997
+++ 2.3.30pre3/include/linux/ntfs_fs_sb.h Fri Dec 3 12:54:37 1999
@@ -26,6 +26,7 @@
int clusterfactor;
int clustersize;
int mft_recordsize;
+ int mft_recordbits;
int mft_clusters_per_record;
int index_recordsize;
int index_clusters_per_record;

-
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/