ext2_get_block

#0  ext2_get_block (inode=0xffff8801092cac30, iblock=18446612137028320096, bh_result=0xffff880118fb7b60, create=1) at fs/ext2/inode.c:763
#1  0xffffffff811a4fcd in get_more_blocks (map_bh=0xffff880118fb7b60, sdio=0xffff880118fb7bc8, dio=0xffff88002eebca00) at fs/direct-io.c:579
#2  do_direct_IO (map_bh=0xffff880118fb7b60, sdio=0xffff880118fb7bc8, dio=0xffff88002eebca00) at fs/direct-io.c:879
#3  do_blockdev_direct_IO (rw=17, rw@entry=1, iocb=, inode=, bdev=, iov=iov@entry=0xffff880118fb7e48, offset=offset@entry=0, nr_segs=nr_segs@entry=1, 
    get_block=get_block@entry=0xffffffff811fb25f , end_io=end_io@entry=0x0 , submit_io=submit_io@entry=0x0 , flags=flags@entry=3) at fs/direct-io.c:1202
#4  0xffffffff811a7511 in __blockdev_direct_IO (rw=rw@entry=1, iocb=, inode=, bdev=, iov=iov@entry=0xffff880118fb7e48, offset=offset@entry=0, 
    nr_segs=nr_segs@entry=1, get_block=get_block@entry=0xffffffff811fb25f , end_io=end_io@entry=0x0 , submit_io=submit_io@entry=0x0 , flags=flags@entry=3)
    at fs/direct-io.c:1298
#5  0xffffffff811fba51 in blockdev_direct_IO (get_block=0xffffffff811fb25f , nr_segs=1, offset=0, iov=0xffff880118fb7e48, inode=, iocb=, rw=1)
    at include/linux/fs.h:2465
#6  ext2_direct_IO (rw=1, iocb=, iov=0xffff880118fb7e48, offset=0, nr_segs=1) at fs/ext2/inode.c:859
#7  0xffffffff8111be1f in generic_file_direct_write (iocb=iocb@entry=0xffff880118fb7e58, iov=iov@entry=0xffff880118fb7e48, nr_segs=nr_segs@entry=0xffff880118fb7dc0, pos=pos@entry=0, 
    ppos=ppos@entry=0xffff880118fb7e90, count=count@entry=1024, ocount=1024) at mm/filemap.c:2234
#8  0xffffffff8111c0db in __generic_file_aio_write (iocb=iocb@entry=0xffff880118fb7e58, iov=iov@entry=0xffff880118fb7e48, nr_segs=nr_segs@entry=1, ppos=ppos@entry=0xffff880118fb7e90) at mm/filemap.c:2476
#9  0xffffffff8111c28f in generic_file_aio_write (iocb=0xffff880118fb7e58, iov=0xffff880118fb7e48, nr_segs=1, pos=) at mm/filemap.c:2550
#10 0xffffffff81170c65 in do_sync_write (filp=, buf=, len=, ppos=0xffff880118fb7f50) at fs/read_write.c:394
#11 0xffffffff811712b9 in vfs_write (file=file@entry=0xffff88010b8bc400, buf=buf@entry=0xe45000 "", count=count@entry=1024, pos=pos@entry=0xffff880118fb7f50) at fs/read_write.c:446
#12 0xffffffff81171bd1 in SYSC_write (count=1024, buf=0xe45000 "", fd=) at fs/read_write.c:494
#13 SyS_write (fd=, buf=14962688, count=1024) at fs/read_write.c:486
int ext2_get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
{
    unsigned max_blocks = bh_result->b_size >> inode->i_blkbits;
    int ret = ext2_get_blocks(inode, iblock, max_blocks,
                  bh_result, create);
    if (ret > 0) {
        bh_result->b_size = (ret << inode->i_blkbits);
        ret = 0;
    }
    return ret;

}
(gdb) p iblock 
$5 = 18446612137028320096
(gdb) p create
$6 = 1
(gdb) p max_blocks 
$7 = 1
(gdb) p bh_result->b_size 
$8 = 4096
(gdb) p inode->i_blkbits 
$9 = 12
ext2_block_to_path
(gdb) p *boundary
$23 = 11
(gdb) p n
$24 = 1

touch d

#0  ext2_get_block (inode=inode@entry=0xffff8801092ca090, iblock=18446612135636301128, iblock@entry=0, bh_result=0xffff8800c602f548, create=create@entry=1) at fs/ext2/inode.c:763
#1  0xffffffff8119e202 in __block_write_begin (page=page@entry=0xffffea000407d480, pos=pos@entry=68, len=len@entry=4028, get_block=0xffffffff811fb25f ) at fs/buffer.c:1864
#2  0xffffffff811f9059 in ext2_prepare_chunk (len=4028, pos=68, page=0xffffea000407d480) at fs/ext2/dir.c:462
#3  ext2_add_link (dentry=dentry@entry=0xffff88010017e900, inode=inode@entry=0xffff8801092caf18) at fs/ext2/dir.c:558
#4  0xffffffff811fd354 in ext2_add_nondir (inode=0xffff8801092caf18, dentry=0xffff88010017e900) at fs/ext2/namei.c:42
#5  ext2_create (dir=, dentry=0xffff88010017e900, mode=, excl=) at fs/ext2/namei.c:119
#6  0xffffffff8117e494 in vfs_create (dir=0xffff8801092ca090, dentry=dentry@entry=0xffff88010017e900, mode=, mode@entry=33188, want_excl=) at fs/namei.c:2329
#7  0xffffffff8117ec0a in lookup_open (opened=0xffff8801085e3dfc, got_write=true, op=0xffff8801085e3f30, file=0xffff8801080e5100, path=0xffff8801085e3e08, nd=0xffff8801085e3e60) at fs/namei.c:2657
#8  do_last (nd=nd@entry=0xffff8801085e3e60, path=path@entry=0xffff8801085e3e08, file=file@entry=0xffff8801080e5100, op=op@entry=0xffff8801085e3f30, opened=opened@entry=0xffff8801085e3dfc, 
    name=name@entry=0xffff88010b856000) at fs/namei.c:2762
#9  0xffffffff8117f31e in path_openat (dfd=dfd@entry=-100, pathname=pathname@entry=0xffff88010b856000, nd=nd@entry=0xffff8801085e3e60, op=op@entry=0xffff8801085e3f30, flags=flags@entry=65) at fs/namei.c:2947
#10 0xffffffff8117fce4 in do_filp_open (dfd=dfd@entry=-100, pathname=pathname@entry=0xffff88010b856000, op=op@entry=0xffff8801085e3f30, flags=flags@entry=1) at fs/namei.c:2995
#11 0xffffffff811707d2 in do_sys_open (dfd=dfd@entry=-100, filename=, flags=, mode=) at fs/open.c:942
#12 0xffffffff81170881 in SYSC_open (mode=, flags=, filename=) at fs/open.c:961
#13 SyS_open (filename=, flags=, mode=) at fs/open.c:956
#14 
#15 0x00007f96d7102170 in ?? ()
#16 0x0000000000000000 in ?? ()

你可能感兴趣的:(ext2_get_block)