mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 12:28:58 +00:00
Remove the kernel file-size limit for UFS2, so that only the limit
imposed by the filesystem structure itself remains. With 16k blocks, the maximum file size is now just over 128TB. For now, the UFS1 file size limit is left unchanged so as to remain consistent with RELENG_4, but it too could be removed in the future. Reviewed by: mckusick
This commit is contained in:
parent
ecddb03f1e
commit
8f42fb8fc9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=98888
@ -221,7 +221,10 @@ checkinode(ino_t inumber, struct inodesc *idesc)
|
||||
}
|
||||
lastino = inumber;
|
||||
/* This should match the file size limit in ffs_mountfs(). */
|
||||
kernmaxfilesize = (off_t)0x40000000 * sblock.fs_bsize - 1;
|
||||
if (sblock.fs_magic == FS_UFS1_MAGIC)
|
||||
kernmaxfilesize = (off_t)0x40000000 * sblock.fs_bsize - 1;
|
||||
else
|
||||
kernmaxfilesize = sblock.fs_maxfilesize;
|
||||
if (DIP(dp, di_size) > kernmaxfilesize ||
|
||||
DIP(dp, di_size) > sblock.fs_maxfilesize ||
|
||||
(mode == IFDIR && DIP(dp, di_size) > MAXDIRSIZE)) {
|
||||
|
@ -853,10 +853,12 @@ ffs_oldfscompat_read(fs, ump, sblockloc)
|
||||
fs->fs_qbmask = ~fs->fs_bmask;
|
||||
fs->fs_qfmask = ~fs->fs_fmask;
|
||||
}
|
||||
ump->um_savedmaxfilesize = fs->fs_maxfilesize;
|
||||
maxfilesize = (u_int64_t)0x40000000 * fs->fs_bsize - 1;
|
||||
if (fs->fs_maxfilesize > maxfilesize)
|
||||
fs->fs_maxfilesize = maxfilesize;
|
||||
if (fs->fs_magic == FS_UFS1_MAGIC) {
|
||||
ump->um_savedmaxfilesize = fs->fs_maxfilesize;
|
||||
maxfilesize = (u_int64_t)0x40000000 * fs->fs_bsize - 1;
|
||||
if (fs->fs_maxfilesize > maxfilesize)
|
||||
fs->fs_maxfilesize = maxfilesize;
|
||||
}
|
||||
/* Compatibility for old filesystems */
|
||||
if (fs->fs_avgfilesize <= 0)
|
||||
fs->fs_avgfilesize = AVFILESIZ;
|
||||
@ -890,8 +892,8 @@ ffs_oldfscompat_write(fs, ump)
|
||||
fs->fs_old_cstotal.cs_nbfree = fs->fs_cstotal.cs_nbfree;
|
||||
fs->fs_old_cstotal.cs_nifree = fs->fs_cstotal.cs_nifree;
|
||||
fs->fs_old_cstotal.cs_nffree = fs->fs_cstotal.cs_nffree;
|
||||
fs->fs_maxfilesize = ump->um_savedmaxfilesize;
|
||||
}
|
||||
fs->fs_maxfilesize = ump->um_savedmaxfilesize;
|
||||
if (bigcgs) {
|
||||
fs->fs_cgsize = fs->fs_save_cgsize;
|
||||
fs->fs_save_cgsize = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user