Re: UFS not 64-bit clean?
Re: UFS not 64-bit clean?
- Subject: Re: UFS not 64-bit clean?
- From: Umesh Vaishampayan <email@hidden>
- Date: Tue, 11 Dec 2001 14:27:41 -0800
On Tuesday, December 11, 2001, at 10:31 AM, Chris Bednar wrote:
I'm fooling with using UFS, and I notice that
I get in trouble at the 4-gig limit.
That's artificial limitation put in UFS few years ago when I implemented
UBC. At that time the VM did not support 64 bit data paths. Hence anything
above 4GB was not accessible. [Well, you could try to access it, but the
offset would wrap and lead to interesting :-) data corruption]. Hence the
following code was added:
bsd/ufs/ffs/ffs_vfsops.c:
483 /*
484 * Common code for mount and mountroot
485 */
486 int
487 ffs_mountfs(devvp, mp, p)
488 register struct vnode *devvp;
489 struct mount *mp;
490 struct proc *p;
491 {
492 register struct ufsmount *ump;
/* ... */
732 maxfilesize = (u_int64_t)0x100000000; /* 4GB
*/
733 #if 0
734 maxfilesize = (u_int64_t)0x40000000 * fs->fs_bsize - 1; /* XXX
*/
735 #endif /* 0 */
736 if (fs->fs_maxfilesize > maxfilesize) /* XXX */
737 fs->fs_maxfilesize = maxfilesize; /* XXX */
Now that VM supports 64 bit data paths, the code above can be removed.
Radar #2660080: UFS limits a file to 4GB
was filed to track this issue.
Is the darwin
UFS implementation not 64-bit clean?
Yes it is.
Thankfully,
I don't have this trouble with NFS or HFS+, but
I'm trying to have a FS that's
1) local
2) case sensitive
You get both with UFS.
3) LFS-ready
That you do not get without doing LOTS of work on it first...
--Umesh
--
Umesh Vaishampayan Apple Computer, Inc.
Mac OS X Kernel Ph: (408) 974 0229