Unverified Commit 28861e3b authored by Kari Argillander's avatar Kari Argillander Committed by Konstantin Komarov
Browse files

fs/ntfs3: Initiliaze sb blocksize only in one place + refactor



Right now sb blocksize first get initiliazed in fill_super but in can be
changed in helper function. It makes more sense to that this happened
only in one place.

Because we move this to helper function it makes more sense that
s_maxbytes will also be there. I rather have every sb releted thing in
fill_super, but because there is already sb releted stuff in this
helper. This will have to do for now.

Signed-off-by: default avatarKari Argillander <kari.argillander@gmail.com>
Signed-off-by: default avatarKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
parent 0e59a87e
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -840,8 +840,7 @@ static int ntfs_init_from_boot(struct super_block *sb, u32 sector_size,
	rec->total = cpu_to_le32(sbi->record_size);
	((struct ATTRIB *)Add2Ptr(rec, ao))->type = ATTR_END;

	if (sbi->cluster_size < PAGE_SIZE)
		sb_set_blocksize(sb, sbi->cluster_size);
	sb_set_blocksize(sb, min_t(u32, sbi->cluster_size, PAGE_SIZE));

	sbi->block_mask = sb->s_blocksize - 1;
	sbi->blocks_per_cluster = sbi->cluster_size >> sb->s_blocksize_bits;
@@ -854,9 +853,11 @@ static int ntfs_init_from_boot(struct super_block *sb, u32 sector_size,
	if (clusters >= (1ull << (64 - sbi->cluster_bits)))
		sbi->maxbytes = -1;
	sbi->maxbytes_sparse = -1;
	sb->s_maxbytes = MAX_LFS_FILESIZE;
#else
	/* Maximum size for sparse file. */
	sbi->maxbytes_sparse = (1ull << (sbi->cluster_bits + 32)) - 1;
	sb->s_maxbytes = 0xFFFFFFFFull << sbi->cluster_bits;
#endif

	err = 0;
@@ -911,20 +912,12 @@ static int ntfs_fill_super(struct super_block *sb, struct fs_context *fc)
			~(u64)(sbi->discard_granularity - 1);
	}

	sb_set_blocksize(sb, PAGE_SIZE);

	/* Parse boot. */
	err = ntfs_init_from_boot(sb, rq ? queue_logical_block_size(rq) : 512,
				  bdev->bd_inode->i_size);
	if (err)
		return err;

#ifdef CONFIG_NTFS3_64BIT_CLUSTER
	sb->s_maxbytes = MAX_LFS_FILESIZE;
#else
	sb->s_maxbytes = 0xFFFFFFFFull << sbi->cluster_bits;
#endif

	/*
	 * Load $Volume. This should be done before $LogFile
	 * 'cause 'sbi->volume.ni' is used 'ntfs_set_state'.