aboutsummaryrefslogtreecommitdiff
path: root/fs/sdfat/cache.c
diff options
context:
space:
mode:
authorBruno Martins <bgcngm@gmail.com>2018-03-14 13:29:33 +0000
committerMoyster <oysterized@gmail.com>2018-12-02 01:33:41 +0100
commitf60b21f4592246566ec9fe685ddaa24fff2c0e06 (patch)
tree1c5348fc0752d2ed89349b2b117af9163bb01ae9 /fs/sdfat/cache.c
parent3bf4b9630683cd2787a01275ccc0b887ba110cf1 (diff)
fs: sdfat: Update to driver version 2.0.6
* From Samsung package version: G960USQU1ARBG Change-Id: Ia4ba42dbd088701c23c09fbb4ba97a5654e19011
Diffstat (limited to 'fs/sdfat/cache.c')
-rw-r--r--fs/sdfat/cache.c64
1 files changed, 32 insertions, 32 deletions
diff --git a/fs/sdfat/cache.c b/fs/sdfat/cache.c
index 33901fa0a..f0170c560 100644
--- a/fs/sdfat/cache.c
+++ b/fs/sdfat/cache.c
@@ -53,13 +53,13 @@
/*----------------------------------------------------------------------*/
/* Cache handling function declarations */
/*----------------------------------------------------------------------*/
-static cache_ent_t *__fcache_find(struct super_block *sb, u32 sec);
-static cache_ent_t *__fcache_get(struct super_block *sb, u32 sec);
+static cache_ent_t *__fcache_find(struct super_block *sb, u64 sec);
+static cache_ent_t *__fcache_get(struct super_block *sb);
static void __fcache_insert_hash(struct super_block *sb, cache_ent_t *bp);
static void __fcache_remove_hash(cache_ent_t *bp);
-static cache_ent_t *__dcache_find(struct super_block *sb, u32 sec);
-static cache_ent_t *__dcache_get(struct super_block *sb, u32 sec);
+static cache_ent_t *__dcache_find(struct super_block *sb, u64 sec);
+static cache_ent_t *__dcache_get(struct super_block *sb);
static void __dcache_insert_hash(struct super_block *sb, cache_ent_t *bp);
static void __dcache_remove_hash(cache_ent_t *bp);
@@ -126,17 +126,17 @@ static inline void __remove_from_hash(cache_ent_t *bp)
* sec: sector No. in FAT1
* bh: bh of sec.
*/
-static inline s32 __fat_copy(struct super_block *sb, u32 sec, struct buffer_head *bh, int sync)
+static inline s32 __fat_copy(struct super_block *sb, u64 sec, struct buffer_head *bh, int sync)
{
#ifdef CONFIG_SDFAT_FAT_MIRRORING
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
- int sec2;
+ u64 sec2;
if (fsi->FAT2_start_sector != fsi->FAT1_start_sector) {
sec2 = sec - fsi->FAT1_start_sector + fsi->FAT2_start_sector;
- BUG_ON(sec2 != (sec + fsi->num_FAT_sectors));
+ BUG_ON(sec2 != (sec + (u64)fsi->num_FAT_sectors));
- MMSG("BD: fat mirroring (%d in FAT1, %d in FAT2)\n", sec, sec2);
+ MMSG("BD: fat mirroring (%llu in FAT1, %llu in FAT2)\n", sec, sec2);
if (write_sect(sb, sec2, bh, sync))
return -EIO;
}
@@ -187,7 +187,7 @@ static s32 __fcache_ent_discard(struct super_block *sb, cache_ent_t *bp)
return 0;
}
-u8 *fcache_getblk(struct super_block *sb, u32 sec)
+u8 *fcache_getblk(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
@@ -204,7 +204,7 @@ u8 *fcache_getblk(struct super_block *sb, u32 sec)
return bp->bh->b_data;
}
- bp = __fcache_get(sb, sec);
+ bp = __fcache_get(sb);
if (!__check_hash_valid(bp))
__fcache_remove_hash(bp);
@@ -214,7 +214,7 @@ u8 *fcache_getblk(struct super_block *sb, u32 sec)
/* Naive FAT read-ahead (increase I/O unit to page_ra_count) */
if ((sec & (page_ra_count - 1)) == 0)
- bdev_readahead(sb, sec, page_ra_count);
+ bdev_readahead(sb, sec, (u64)page_ra_count);
/*
* patch 1.2.4 : buffer_head null pointer exception problem.
@@ -247,13 +247,13 @@ static inline int __mark_delayed_dirty(struct super_block *sb, cache_ent_t *bp)
-s32 fcache_modify(struct super_block *sb, u32 sec)
+s32 fcache_modify(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
bp = __fcache_find(sb, sec);
if (!bp) {
- sdfat_fs_error(sb, "Can`t find fcache (sec 0x%08x)", sec);
+ sdfat_fs_error(sb, "Can`t find fcache (sec 0x%016llx)", sec);
return -EIO;
}
@@ -390,7 +390,7 @@ s32 fcache_flush(struct super_block *sb, u32 sync)
return ret;
}
-static cache_ent_t *__fcache_find(struct super_block *sb, u32 sec)
+static cache_ent_t *__fcache_find(struct super_block *sb, u64 sec)
{
s32 off;
cache_ent_t *bp, *hp;
@@ -413,7 +413,7 @@ static cache_ent_t *__fcache_find(struct super_block *sb, u32 sec)
return NULL;
}
-static cache_ent_t *__fcache_get(struct super_block *sb, u32 sec)
+static cache_ent_t *__fcache_get(struct super_block *sb)
{
cache_ent_t *bp;
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
@@ -473,7 +473,7 @@ static void __fcache_remove_hash(cache_ent_t *bp)
/* Buffer Read/Write Functions */
/*======================================================================*/
/* Read-ahead a cluster */
-s32 dcache_readahead(struct super_block *sb, u32 sec)
+s32 dcache_readahead(struct super_block *sb, u64 sec)
{
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
struct buffer_head *bh;
@@ -487,7 +487,7 @@ s32 dcache_readahead(struct super_block *sb, u32 sec)
return 0;
if (sec < fsi->data_start_sector) {
- EMSG("BD: %s: requested sector is invalid(sect:%u, root:%u)\n",
+ EMSG("BD: %s: requested sector is invalid(sect:%llu, root:%llu)\n",
__func__, sec, fsi->data_start_sector);
return -EIO;
}
@@ -498,7 +498,7 @@ s32 dcache_readahead(struct super_block *sb, u32 sec)
bh = sb_find_get_block(sb, sec);
if (!bh || !buffer_uptodate(bh))
- bdev_readahead(sb, sec, ra_count);
+ bdev_readahead(sb, sec, (u64)ra_count);
brelse(bh);
@@ -531,7 +531,7 @@ static s32 __dcache_ent_discard(struct super_block *sb, cache_ent_t *bp)
{
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
- MMSG("%s : bp[%p] (sec:%08x flag:%08x bh:%p) list(prev:%p next:%p) "
+ MMSG("%s : bp[%p] (sec:%016llx flag:%08x bh:%p) list(prev:%p next:%p) "
"hash(prev:%p next:%p)\n", __func__,
bp, bp->sec, bp->flag, bp->bh, bp->prev, bp->next,
bp->hash.prev, bp->hash.next);
@@ -549,7 +549,7 @@ static s32 __dcache_ent_discard(struct super_block *sb, cache_ent_t *bp)
return 0;
}
-u8 *dcache_getblk(struct super_block *sb, u32 sec)
+u8 *dcache_getblk(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
@@ -557,7 +557,7 @@ u8 *dcache_getblk(struct super_block *sb, u32 sec)
bp = __dcache_find(sb, sec);
if (bp) {
if (bdev_check_bdi_valid(sb)) {
- MMSG("%s: found cache(%p, sect:%u). But invalid BDI\n"
+ MMSG("%s: found cache(%p, sect:%llu). But invalid BDI\n"
, __func__, bp, sec);
__dcache_ent_flush(sb, bp, 0);
__dcache_ent_discard(sb, bp);
@@ -570,7 +570,7 @@ u8 *dcache_getblk(struct super_block *sb, u32 sec)
return bp->bh->b_data;
}
- bp = __dcache_get(sb, sec);
+ bp = __dcache_get(sb);
if (!__check_hash_valid(bp))
__dcache_remove_hash(bp);
@@ -588,7 +588,7 @@ u8 *dcache_getblk(struct super_block *sb, u32 sec)
}
-s32 dcache_modify(struct super_block *sb, u32 sec)
+s32 dcache_modify(struct super_block *sb, u64 sec)
{
s32 ret = -EIO;
cache_ent_t *bp;
@@ -597,7 +597,7 @@ s32 dcache_modify(struct super_block *sb, u32 sec)
bp = __dcache_find(sb, sec);
if (unlikely(!bp)) {
- sdfat_fs_error(sb, "Can`t find dcache (sec 0x%08x)", sec);
+ sdfat_fs_error(sb, "Can`t find dcache (sec 0x%016llx)", sec);
return -EIO;
}
#ifdef CONFIG_SDFAT_DELAYED_META_DIRTY
@@ -609,14 +609,14 @@ s32 dcache_modify(struct super_block *sb, u32 sec)
ret = write_sect(sb, sec, bp->bh, 0);
if (ret) {
- DMSG("%s : failed to modify buffer(err:%d, sec:%u, bp:0x%p)\n",
+ DMSG("%s : failed to modify buffer(err:%d, sec:%llu, bp:0x%p)\n",
__func__, ret, sec, bp);
}
return ret;
}
-s32 dcache_lock(struct super_block *sb, u32 sec)
+s32 dcache_lock(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
@@ -626,11 +626,11 @@ s32 dcache_lock(struct super_block *sb, u32 sec)
return 0;
}
- EMSG("%s : failed to lock buffer(sec:%u, bp:0x%p)\n", __func__, sec, bp);
+ EMSG("%s : failed to lock buffer(sec:%llu, bp:0x%p)\n", __func__, sec, bp);
return -EIO;
}
-s32 dcache_unlock(struct super_block *sb, u32 sec)
+s32 dcache_unlock(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
@@ -640,11 +640,11 @@ s32 dcache_unlock(struct super_block *sb, u32 sec)
return 0;
}
- EMSG("%s : failed to unlock buffer (sec:%u, bp:0x%p)\n", __func__, sec, bp);
+ EMSG("%s : failed to unlock buffer (sec:%llu, bp:0x%p)\n", __func__, sec, bp);
return -EIO;
}
-s32 dcache_release(struct super_block *sb, u32 sec)
+s32 dcache_release(struct super_block *sb, u64 sec)
{
cache_ent_t *bp;
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);
@@ -755,7 +755,7 @@ s32 dcache_flush(struct super_block *sb, u32 sync)
return ret;
}
-static cache_ent_t *__dcache_find(struct super_block *sb, u32 sec)
+static cache_ent_t *__dcache_find(struct super_block *sb, u64 sec)
{
s32 off;
cache_ent_t *bp, *hp;
@@ -773,7 +773,7 @@ static cache_ent_t *__dcache_find(struct super_block *sb, u32 sec)
return NULL;
}
-static cache_ent_t *__dcache_get(struct super_block *sb, u32 sec)
+static cache_ent_t *__dcache_get(struct super_block *sb)
{
cache_ent_t *bp;
FS_INFO_T *fsi = &(SDFAT_SB(sb)->fsi);