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