Linux Kernel
3.7.1
|
Go to the source code of this file.
Macros | |
#define | in_range(b, first, len) ((b)>=(first)&&(b)<(first)+(len)) |
#define | ubh_bread(sb, fragment, size) _ubh_bread_(uspi,sb,fragment,size) |
#define | ubh_ubhcpymem(mem, ubh, size) _ubh_ubhcpymem_(uspi,mem,ubh,size) |
#define | ubh_memcpyubh(ubh, mem, size) _ubh_memcpyubh_(uspi,ubh,mem,size) |
#define | ubh_get_usb_first(uspi) ((struct ufs_super_block_first *)get_usb_offset((uspi), 0)) |
#define | ubh_get_usb_second(uspi) ((struct ufs_super_block_second *)get_usb_offset((uspi), UFS_SECTOR_SIZE)) |
#define | ubh_get_usb_third(uspi) ((struct ufs_super_block_third *)get_usb_offset((uspi), 2*UFS_SECTOR_SIZE)) |
#define | ubh_get_ucg(ubh) ((struct ufs_cylinder_group *)((ubh)->bh[0]->b_data)) |
#define | ubh_get_addr8(ubh, begin) |
#define | ubh_get_addr16(ubh, begin) |
#define | ubh_get_addr32(ubh, begin) |
#define | ubh_get_addr64(ubh, begin) |
#define | ubh_get_addr ubh_get_addr8 |
#define | ubh_blkmap(ubh, begin, bit) ((*ubh_get_addr(ubh, (begin) + ((bit) >> 3)) >> ((bit) & 7)) & (0xff >> (UFS_MAXFRAG - uspi->s_fpb))) |
#define | ubh_cg_blktot(ucpi, cylno) (*((__fs32*)ubh_get_addr(UCPI_UBH(ucpi), (ucpi)->c_btotoff + ((cylno) << 2)))) |
#define | ubh_cg_blks(ucpi, cylno, rpos) |
#define | ubh_setbit(ubh, begin, bit) (*ubh_get_addr(ubh, (begin) + ((bit) >> 3)) |= (1 << ((bit) & 7))) |
#define | ubh_clrbit(ubh, begin, bit) (*ubh_get_addr (ubh, (begin) + ((bit) >> 3)) &= ~(1 << ((bit) & 7))) |
#define | ubh_isset(ubh, begin, bit) (*ubh_get_addr (ubh, (begin) + ((bit) >> 3)) & (1 << ((bit) & 7))) |
#define | ubh_isclr(ubh, begin, bit) (!ubh_isset(ubh,begin,bit)) |
#define | ubh_find_first_zero_bit(ubh, begin, size) _ubh_find_next_zero_bit_(uspi,ubh,begin,size,0) |
#define | ubh_find_next_zero_bit(ubh, begin, size, offset) _ubh_find_next_zero_bit_(uspi,ubh,begin,size,offset) |
#define | ubh_find_last_zero_bit(ubh, begin, size, offset) _ubh_find_last_zero_bit_(uspi,ubh,begin,size,offset) |
#define | ubh_isblockclear(ubh, begin, block) (!_ubh_isblockset_(uspi,ubh,begin,block)) |
#define | ubh_isblockset(ubh, begin, block) _ubh_isblockset_(uspi,ubh,begin,block) |
#define | ubh_clrblock(ubh, begin, block) _ubh_clrblock_(uspi,ubh,begin,block) |
#define | ubh_setblock(ubh, begin, block) _ubh_setblock_(uspi,ubh,begin,block) |
#define ubh_blkmap | ( | ubh, | |
begin, | |||
bit | |||
) | ((*ubh_get_addr(ubh, (begin) + ((bit) >> 3)) >> ((bit) & 7)) & (0xff >> (UFS_MAXFRAG - uspi->s_fpb))) |
#define ubh_bread | ( | sb, | |
fragment, | |||
size | |||
) | _ubh_bread_(uspi,sb,fragment,size) |
#define ubh_cg_blks | ( | ucpi, | |
cylno, | |||
rpos | |||
) |
#define ubh_cg_blktot | ( | ucpi, | |
cylno | |||
) | (*((__fs32*)ubh_get_addr(UCPI_UBH(ucpi), (ucpi)->c_btotoff + ((cylno) << 2)))) |
#define ubh_clrbit | ( | ubh, | |
begin, | |||
bit | |||
) | (*ubh_get_addr (ubh, (begin) + ((bit) >> 3)) &= ~(1 << ((bit) & 7))) |
#define ubh_get_addr ubh_get_addr8 |
#define ubh_get_addr16 | ( | ubh, | |
begin | |||
) |
#define ubh_get_addr32 | ( | ubh, | |
begin | |||
) |
#define ubh_get_addr64 | ( | ubh, | |
begin | |||
) |
#define ubh_get_addr8 | ( | ubh, | |
begin | |||
) |
#define ubh_get_ucg | ( | ubh | ) | ((struct ufs_cylinder_group *)((ubh)->bh[0]->b_data)) |
#define ubh_get_usb_first | ( | uspi | ) | ((struct ufs_super_block_first *)get_usb_offset((uspi), 0)) |
#define ubh_get_usb_second | ( | uspi | ) | ((struct ufs_super_block_second *)get_usb_offset((uspi), UFS_SECTOR_SIZE)) |
#define ubh_get_usb_third | ( | uspi | ) | ((struct ufs_super_block_third *)get_usb_offset((uspi), 2*UFS_SECTOR_SIZE)) |
#define ubh_isset | ( | ubh, | |
begin, | |||
bit | |||
) | (*ubh_get_addr (ubh, (begin) + ((bit) >> 3)) & (1 << ((bit) & 7))) |
#define ubh_memcpyubh | ( | ubh, | |
mem, | |||
size | |||
) | _ubh_memcpyubh_(uspi,ubh,mem,size) |
#define ubh_setbit | ( | ubh, | |
begin, | |||
bit | |||
) | (*ubh_get_addr(ubh, (begin) + ((bit) >> 3)) |= (1 << ((bit) & 7))) |
#define ubh_ubhcpymem | ( | mem, | |
ubh, | |||
size | |||
) | _ubh_ubhcpymem_(uspi,mem,ubh,size) |
|
read |
void _ubh_memcpyubh_ | ( | struct ufs_sb_private_info * | , |
struct ufs_buffer_head * | , | ||
unsigned char * | , | ||
unsigned | |||
) |
void _ubh_ubhcpymem_ | ( | struct ufs_sb_private_info * | , |
unsigned char * | , | ||
struct ufs_buffer_head * | , | ||
unsigned | |||
) |
void ubh_bforget | ( | struct ufs_buffer_head * | ) |
|
read |
void ubh_brelse | ( | struct ufs_buffer_head * | ) |
void ubh_brelse_uspi | ( | struct ufs_sb_private_info * | ) |
int ubh_buffer_dirty | ( | struct ufs_buffer_head * | ) |
void ubh_mark_buffer_dirty | ( | struct ufs_buffer_head * | ) |
void ubh_mark_buffer_uptodate | ( | struct ufs_buffer_head * | , |
int | |||
) |
void ubh_sync_block | ( | struct ufs_buffer_head * | ) |
dev_t ufs_get_inode_dev | ( | struct super_block * | , |
struct ufs_inode_info * | |||
) |
|
read |
ufs_get_locked_page() - locate, pin and lock a pagecache page, if not exist read it from disk. : the address_space to search : the page index
Locates the desired pagecache page, if not exist we'll read it, locks it, increments its reference count and returns its address.
void ufs_set_inode_dev | ( | struct super_block * | , |
struct ufs_inode_info * | , | ||
dev_t | |||
) |