*参照元 [#h8468c3e] #backlinks *説明 [#c4a5735d] -パス: [[linux-2.6.33/mm/page-writeback.c]] -FIXME: これは何? --説明 **引数 [#b3b2d904] -struct address_space *mapping -- --[[linux-2.6.33/address_space]] -struct writeback_control *wbc -- --[[linux-2.6.33/writeback_control]] **返り値 [#b1e7346c] -int -- **参考 [#pa9092b5] -writepages に設定される関数 -検索方法 $ egrep -nr '\.writepages[\s]*' fs -結果 fs/afs/file.c:60: .writepages = afs_writepages, fs/block_dev.c:1470: .writepages = generic_writepages, fs/btrfs/disk-io.c:779: .writepages = btree_writepages, fs/btrfs/inode.c:6005: .writepages = btrfs_writepages, fs/cifs/file.c:2350: .writepages = cifs_writepages, fs/cifs/file.c:2366: .writepages = cifs_writepages, fs/exofs/inode.c:760: .writepages = exofs_writepages, fs/ext2/inode.c:821: .writepages = ext2_writepages, fs/ext2/inode.c:841: .writepages = ext2_writepages, fs/ext4/inode.c:3894: .writepages = ext4_da_writepages, fs/fat/inode.c:216: .writepages = fat_writepages, fs/gfs2/aops.c:1118: .writepages = gfs2_writeback_writepages, fs/gfs2/aops.c:1152: .writepages = gfs2_jdata_writepages, fs/hfs/inode.c:144: .writepages = hfs_writepages, fs/hfsplus/inode.c:137: .writepages = hfsplus_writepages, fs/jfs/inode.c:323: .writepages = jfs_writepages, fs/nfs/file.c:522: .writepages = nfs_writepages, fs/nilfs2/inode.c:246: .writepages = nilfs_writepages, fs/omfs/file.c:344: .writepages = omfs_writepages, fs/xfs/linux-2.6/xfs_aops.c:1551: .writepages = xfs_vm_writepages, *実装 [#a12f5959] int do_writepages(struct address_space *mapping, struct writeback_control *wbc) { int ret; if (wbc->nr_to_write <= 0) return 0; if (mapping->a_ops->writepages) ret = mapping->a_ops->writepages(mapping, wbc); - --[[linux-2.6.33/]] -mapping->a_ops は struct address_space_operations 型 --[[linux-2.6.33/address_space_operations]] else ret = generic_writepages(mapping, wbc); - --[[linux-2.6.33/generic_writepages()]] return ret; } *コメント [#bb3a22ca]