Increase file size limit on FreeBSD UFS flavours
PATCH 1/1 Increase file size limit on FreeBSD UFS flavours
Increase the file size limit on FreeBSD UFS flavours.
fs/ufs/super.c +2 -0
@@ -768,6 +768,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;case UFS_MOUNT_UFSTYPE_UFS2 :
@@ -778,6 +779,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_TYPE_UFS2 |UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;
Quoted 17 lines · On Sun, 13 May 2012 15:50:40 +0200 Vladimir '__-coder/phcoder' Serbinenko…
Increase the file size limit on FreeBSD UFS flavours.
Signed-off-by Vladimir Serbinenko <[email protected]>fs/ufs/super.c +1
-0@@ -768,6 +768,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;case UFS_MOUNT_UFSTYPE_UFS2 :
fs/ufs/super.c static int ufs_fill_super(struct super_block *sb, void *data, int silent) · line 785
Quoted 7 lines
fs/ufs/super.c +1
-0@@ -778,6 +779,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_TYPE_UFS2 |UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;
But MAX_NON_LFS exists for a reason. Before this change, the Linux UFS implementation had never had to deal with >4G files (I assume).
Are you telling us that the fs has been thoroughly audited and tested with large files and that it all worked OK with no other changes?
Quoted 31 lines · Andrew Morton
Quoted 17 lines · On Sun, 13 May 2012 15:50:40 +0200 Vladimir '__-coder/phcoder' Serbinenko…
Increase the file size limit on FreeBSD UFS flavours.
Signed-off-by Vladimir Serbinenko <[email protected]>fs/ufs/super.c +1
-0@@ -768,6 +768,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;case UFS_MOUNT_UFSTYPE_UFS2 :fs/ufs/super.c static int ufs_fill_super(struct super_block *sb, void *data, int silent) · line 785
Quoted 7 lines
fs/ufs/super.c +1
-0@@ -778,6 +779,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent) uspi->s_fshift =9 ; uspi->s_sbsize = super_block_size =1536 ; uspi->s_sbbase =0 ; + sb->s_maxbytes =MAX_LFS_FILESIZE ; flags |=UFS_TYPE_UFS2 |UFS_DE_44BSD |UFS_UID_44BSD |UFS_ST_44BSD |UFS_CG_44BSD ;break ;But
MAX_NON_LFSexists for a reason. Before this change, the Linux UFS implementation had never had to deal with >4G files (I assume).
Quoted 3 lines
Are you telling us that the fs has been thoroughly audited and tested with large files and that it all worked OK with no other changes?
The comment indicated that this was simply because the author wasn't sure as to which UFS flavours actually supported big files. I've tested it only by creating big file, unmounting the filesystem and then comparing the read against another UFS implementation (the one in GRUB) and obtaining perfect match. I haven't done any thorough audit.
Signature · 2 lines
Regards Vladimir 'φ-coder/phcoder' Serbinenko