Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46b83113 authored by derfelot's avatar derfelot Committed by Andreas Schneider
Browse files

fs: sdfat: Update to version 2.1.8

Taken from SM-G965F_PP_Opensource kernel (G965FXXU2CRLI)
parent daca7c28
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -478,6 +478,13 @@ void fsapi_invalidate_extent(struct inode *inode)
}
EXPORT_SYMBOL(fsapi_invalidate_extent);

/* check device is ejected */
s32 fsapi_check_bdi_valid(struct super_block *sb)
{
	return fscore_check_bdi_valid(sb);
}
EXPORT_SYMBOL(fsapi_check_bdi_valid);



#ifdef	CONFIG_SDFAT_DFR
+3 −0
Original line number Diff line number Diff line
@@ -355,6 +355,9 @@ u32 fsapi_get_au_stat(struct super_block *sb, s32 mode);
/* extent cache functions */
void fsapi_invalidate_extent(struct inode *inode);

/* bdev management */
s32 fsapi_check_bdi_valid(struct super_block *sb);

#ifdef CONFIG_SDFAT_DFR
/*----------------------------------------------------------------------*/
/*  Defragmentation related                                             */
+12 −3
Original line number Diff line number Diff line
@@ -1621,6 +1621,12 @@ s32 fscore_shutdown(void)
	return 0;
}

/* check device is ejected */
s32 fscore_check_bdi_valid(struct super_block *sb)
{
	return bdev_check_bdi_valid(sb);
}

static bool is_exfat(pbr_t *pbr)
{
	int i = 53;
@@ -1703,6 +1709,7 @@ s32 fscore_mount(struct super_block *sb)
	pbr_t *p_pbr;
	struct buffer_head *tmp_bh = NULL;
	struct gendisk *disk = sb->s_bdev->bd_disk;
	struct hd_struct *part = sb->s_bdev->bd_part;
	struct sdfat_mount_options *opts = &(SDFAT_SB(sb)->options);
	FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);

@@ -1802,9 +1809,11 @@ free_bh:
		"misaligned" : "aligned");

	sdfat_log_msg(sb, KERN_INFO,
		"detected volume size     : %llu MB (disk_size : %llu MB)",
		fsi->num_sectors >> 11,
		disk ? (u64)((disk->part0.nr_sects) >> 11) : 0);
		"detected volume size     : %llu KB (disk : %llu KB, "
		"part : %llu KB)",
		(fsi->num_sectors * (sb->s_blocksize >> SECTOR_SIZE_BITS)) >> 1,
		disk ? (u64)((disk->part0.nr_sects) >> 1) : 0,
		part ? (u64)((part->nr_sects) >> 1) : 0);

	ret = load_upcase_table(sb);
	if (ret) {
+3 −0
Original line number Diff line number Diff line
@@ -70,6 +70,9 @@ typedef struct {
s32 fscore_init(void);
s32 fscore_shutdown(void);

/* bdev management */
s32 fscore_check_bdi_valid(struct super_block *sb);

/* chain management */
s32 chain_cont_cluster(struct super_block *sb, u32 chain, u32 len);

+5 −4
Original line number Diff line number Diff line
@@ -1323,8 +1323,9 @@ static sector_t __calc_hidden_sect(struct super_block *sb)
	hidden = bdev->bd_part->start_sect;
	/* a disk device, not a partition */
	if (!hidden) {
		ASSERT(bdev == bdev->bd_contains);
		ASSERT(!bdev->bd_part->partno);
		if (bdev != bdev->bd_contains)
			sdfat_log_msg(sb, KERN_WARNING,
				"hidden(0), but disk has a partition table");
		goto out;
	}

@@ -1334,8 +1335,8 @@ static sector_t __calc_hidden_sect(struct super_block *sb)
	}

out:
	sdfat_log_msg(sb, KERN_INFO, "start_sect of partition  : %lld",
		(s64)hidden);
	sdfat_log_msg(sb, KERN_INFO, "start_sect of part(%d)    : %lld",
		bdev ? bdev->bd_part->partno : -1, (s64)hidden);
	return hidden;

}
Loading