Re: [PATCH] Increase file size limit on FreeBSD UFS flavours

From: Vladimir 'Ï-coder/phcoder' Serbinenko
Date: Fri May 18 2012 - 00:42:51 EST


On 18.05.2012 01:10, Andrew Morton wrote:

> On Sun, 13 May 2012 15:50:40 +0200
> Vladimir '__-coder/phcoder' Serbinenko <phcoder@xxxxxxxxx> wrote:
>
>> Increase the file size limit on FreeBSD UFS flavours.
>>
>> Signed-off-by: Vladimir Serbinenko <phcoder@xxxxxxxxx>
>>
>> diff --git a/fs/ufs/super.c b/fs/ufs/super.c
>> index ac8e279..7e80a68 100644
>> --- a/fs/ufs/super.c
>> +++ b/fs/ufs/super.c
>> @@ -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;
>>
>
> 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?
>

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.


--
Regards
Vladimir 'Ï-coder/phcoder' Serbinenko

Attachment: signature.asc
Description: OpenPGP digital signature