mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-09 01:28:05 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
56
fs/efs/file.c
Normal file
56
fs/efs/file.c
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* file.c
|
||||
*
|
||||
* Copyright (c) 1999 Al Smith
|
||||
*
|
||||
* Portions derived from work (c) 1995,1996 Christian Vogelgsang.
|
||||
*/
|
||||
|
||||
#include <linux/buffer_head.h>
|
||||
#include "efs.h"
|
||||
|
||||
int efs_get_block(struct inode *inode, sector_t iblock,
|
||||
struct buffer_head *bh_result, int create)
|
||||
{
|
||||
int error = -EROFS;
|
||||
long phys;
|
||||
|
||||
if (create)
|
||||
return error;
|
||||
if (iblock >= inode->i_blocks) {
|
||||
#ifdef DEBUG
|
||||
/*
|
||||
* i have no idea why this happens as often as it does
|
||||
*/
|
||||
pr_warn("%s(): block %d >= %ld (filesize %ld)\n",
|
||||
__func__, block, inode->i_blocks, inode->i_size);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
phys = efs_map_block(inode, iblock);
|
||||
if (phys)
|
||||
map_bh(bh_result, inode->i_sb, phys);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int efs_bmap(struct inode *inode, efs_block_t block) {
|
||||
|
||||
if (block < 0) {
|
||||
pr_warn("%s(): block < 0\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* are we about to read past the end of a file ? */
|
||||
if (!(block < inode->i_blocks)) {
|
||||
#ifdef DEBUG
|
||||
/*
|
||||
* i have no idea why this happens as often as it does
|
||||
*/
|
||||
pr_warn("%s(): block %d >= %ld (filesize %ld)\n",
|
||||
__func__, block, inode->i_blocks, inode->i_size);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
return efs_map_block(inode, block);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue