Lines Matching defs:f2fs_sb_info
1612 struct f2fs_sb_info { struct
1613 struct super_block *sb; /* pointer to VFS super block */
1614 struct proc_dir_entry *s_proc; /* proc entry */
1615 struct f2fs_super_block *raw_super; /* raw super block pointer */
1616 struct f2fs_rwsem sb_lock; /* lock for raw super block */
1617 int valid_super_block; /* valid super block no */
1618 unsigned long s_flag; /* flags for sbi */
1619 struct mutex writepages; /* mutex for writepages() */
1622 unsigned int blocks_per_blkz; /* F2FS blocks per zone */
1623 unsigned int log_blocks_per_blkz; /* log2 F2FS blocks per zone */
1627 struct f2fs_nm_info *nm_info; /* node manager */
1628 struct inode *node_inode; /* cache node blocks */
1631 struct f2fs_sm_info *sm_info; /* segment manager */
1634 struct f2fs_bio_info *write_io[NR_PAGE_TYPE]; /* for write bios */
1636 struct f2fs_rwsem io_order_lock;
1637 mempool_t *write_io_dummy; /* Dummy pages */
1638 pgoff_t page_eio_ofs[NR_PAGE_TYPE]; /* EIO page offset */
1639 int page_eio_cnt[NR_PAGE_TYPE]; /* EIO count */
1642 struct f2fs_checkpoint *ckpt; /* raw checkpoint pointer */
1643 int cur_cp_pack; /* remain current cp pack */
1644 spinlock_t cp_lock; /* for flag in ckpt */
1645 struct inode *meta_inode; /* cache meta blocks */
1646 struct f2fs_rwsem cp_global_sem; /* checkpoint procedure lock */
1647 struct f2fs_rwsem cp_rwsem; /* blocking FS operations */
1648 struct f2fs_rwsem node_write; /* locking node writes */
1649 struct f2fs_rwsem node_change; /* locking node change */
1650 wait_queue_head_t cp_wait;
1651 unsigned long last_time[MAX_TIME]; /* to store time in jiffies */
1652 long interval_time[MAX_TIME]; /* to store thresholds */
1653 struct ckpt_req_control cprc_info; /* for checkpoint request control */
1655 struct inode_management im[MAX_INO_ENTRY]; /* manage inode cache */
1657 spinlock_t fsync_node_lock; /* for node entry lock */
1658 struct list_head fsync_node_list; /* node list head */
1659 unsigned int fsync_seg_id; /* sequence id */
1660 unsigned int fsync_node_num; /* number of node entries */
1663 unsigned int max_orphans; /* max orphan inodes */
1666 struct list_head inode_list[NR_INODE_TYPE]; /* dirty inode list */
1667 spinlock_t inode_lock[NR_INODE_TYPE]; /* for dirty inode list lock */
1668 struct mutex flush_lock; /* for flush exclusion */
1671 struct radix_tree_root extent_tree_root;/* cache extent cache entries */
1672 struct mutex extent_tree_lock; /* locking extent radix tree */
1673 struct list_head extent_list; /* lru list for shrinker */
1674 spinlock_t extent_lock; /* locking extent lru list */
1675 atomic_t total_ext_tree; /* extent tree count */
1676 struct list_head zombie_list; /* extent zombie tree list */
1677 atomic_t total_zombie_tree; /* extent zombie tree count */
1678 atomic_t total_ext_node; /* extent info count */
1681 unsigned int log_sectors_per_block; /* log2 sectors per block */
1682 unsigned int log_blocksize; /* log2 block size */
1683 unsigned int blocksize; /* block size */
1684 unsigned int root_ino_num; /* root inode number*/
1685 unsigned int node_ino_num; /* node inode number*/
1686 unsigned int meta_ino_num; /* meta inode number*/
1687 unsigned int log_blocks_per_seg; /* log2 blocks per segment */
1688 unsigned int blocks_per_seg; /* blocks per segment */
1689 unsigned int unusable_blocks_per_sec; /* unusable blocks per section */
1690 unsigned int segs_per_sec; /* segments per section */
1691 unsigned int secs_per_zone; /* sections per zone */
1692 unsigned int total_sections; /* total section count */
1693 unsigned int total_node_count; /* total node block count */
1694 unsigned int total_valid_node_count; /* valid node block count */
1695 int dir_level; /* directory level */
1696 int readdir_ra; /* readahead inode in readdir */
1697 u64 max_io_bytes; /* max io bytes to merge IOs */
1699 block_t user_block_count; /* # of user blocks */
1700 block_t total_valid_block_count; /* # of valid blocks */
1701 block_t discard_blks; /* discard command candidats */
1702 block_t last_valid_block_count; /* for recovery */
1703 block_t reserved_blocks; /* configurable reserved blocks */
1704 block_t current_reserved_blocks; /* current reserved blocks */
1707 block_t unusable_block_count; /* # of blocks saved by last cp */
1709 unsigned int nquota_files; /* # of quota sysfile */
1710 struct f2fs_rwsem quota_sem; /* blocking cp for flags */
1713 atomic_t nr_pages[NR_COUNT_TYPE];
1715 struct percpu_counter alloc_valid_block_count;
1717 struct percpu_counter rf_node_block_count;
1720 atomic_t wb_sync_req[META]; /* count # of WB_SYNC threads */
1723 struct percpu_counter total_valid_inode_count;
1725 struct f2fs_mount_info mount_opt; /* mount options */
1728 struct f2fs_rwsem gc_lock; /*
1732 struct f2fs_gc_kthread *gc_thread; /* GC thread */
1733 struct atgc_management am; /* atgc management */
1734 unsigned int cur_victim_sec; /* current victim section num */
1735 unsigned int gc_mode; /* current GC state */
1736 unsigned int next_victim_seg[2]; /* next segment in victim section */
1737 spinlock_t gc_urgent_high_lock;
1738 unsigned int gc_urgent_high_remaining; /* remaining trial count for GC_URGENT_HIGH */
1741 unsigned long long skipped_gc_rwsem; /* FG_GC only */
1744 u64 gc_pin_file_threshold;
1745 struct f2fs_rwsem pin_sem;
1748 unsigned int max_victim_search;
1750 unsigned int migration_granularity;
1757 struct f2fs_stat_info *stat_info; /* FS status information */
1758 atomic_t meta_count[META_MAX]; /* # of meta blocks */
1759 unsigned int segment_count[2]; /* # of allocated segments */
1760 unsigned int block_count[2]; /* # of allocated blocks */
1761 atomic_t inplace_count; /* # of inplace update */
1762 atomic64_t total_hit_ext; /* # of lookup extent cache */
1763 atomic64_t read_hit_rbtree; /* # of hit rbtree extent node */
1764 atomic64_t read_hit_largest; /* # of hit largest extent node */
1765 atomic64_t read_hit_cached; /* # of hit cached extent node */
1766 atomic_t inline_xattr; /* # of inline_xattr inodes */
1767 atomic_t inline_inode; /* # of inline_data inodes */
1768 atomic_t inline_dir; /* # of inline_dentry inodes */
1769 atomic_t compr_inode; /* # of compressed inodes */
1770 atomic64_t compr_blocks; /* # of compressed blocks */
1771 atomic_t swapfile_inode; /* # of swapfile inodes */
1772 atomic_t atomic_files; /* # of opened atomic file */
1773 atomic_t max_aw_cnt; /* max # of atomic writes */
1774 unsigned int io_skip_bggc; /* skip background gc for in-flight IO */
1775 unsigned int other_skip_bggc; /* skip background gc for other reasons */
1776 unsigned int ndirty_inode[NR_INODE_TYPE]; /* # of dirty inodes */
1778 spinlock_t stat_lock; /* lock for stat operations */
1781 unsigned int data_io_flag;
1782 unsigned int node_io_flag;
1785 struct kobject s_kobj; /* /sys/fs/f2fs/<devname> */
1786 struct completion s_kobj_unregister;
1788 struct kobject s_stat_kobj; /* /sys/fs/f2fs/<devname>/stat */
1789 struct completion s_stat_kobj_unregister;
1791 struct kobject s_feature_list_kobj; /* /sys/fs/f2fs/<devname>/feature_list */
1792 struct completion s_feature_list_kobj_unregister;
1795 struct list_head s_list;
1796 struct mutex umount_mutex;
1797 unsigned int shrinker_run_no;
1800 int s_ndevs; /* number of devices */
1801 struct f2fs_dev_info *devs; /* for device list */
1802 unsigned int dirty_device; /* for checkpoint data flush */
1803 spinlock_t dev_lock; /* protect dirty_device */
1804 bool aligned_blksize; /* all devices has the same logical blksize */
1807 u64 sectors_written_start;
1808 u64 kbytes_written;
1811 struct crypto_shash *s_chksum_driver;
1814 __u32 s_chksum_seed;
1816 struct workqueue_struct *post_read_wq; /* post read workqueue */
1818 unsigned char errors[MAX_F2FS_ERRORS]; /* error flags */
1819 spinlock_t error_lock; /* protect errors array */
1820 bool error_dirty; /* errors of sb is dirty */
1822 struct kmem_cache *inline_xattr_slab; /* inline xattr entry */
1823 unsigned int inline_xattr_slab_size; /* default inline xattr slab size */
1826 unsigned int gc_segment_mode; /* GC state for reclaimed segments */
1827 unsigned int gc_reclaimed_segs[MAX_GC_MODE]; /* Reclaimed segs for each mode */
1829 unsigned long seq_file_ra_mul; /* multiplier for ra_pages of seq. files in fadvise */
1831 int max_fragment_chunk; /* max chunk size for block fragmentation mode */
1832 int max_fragment_hole; /* max hole size for block fragmentation mode */
1835 atomic64_t current_atomic_write;
1836 s64 peak_atomic_write;
1837 u64 committed_atomic_block;
1838 u64 revoked_atomic_block;
1841 struct kmem_cache *page_array_slab; /* page array entry */
1842 unsigned int page_array_slab_size; /* default page array slab size */
1845 u64 compr_written_block;
1846 u64 compr_saved_block;
1847 u32 compr_new_inode;
1850 struct inode *compress_inode; /* cache compressed blocks */
1851 unsigned int compress_percent; /* cache page percentage */
1852 unsigned int compress_watermark; /* cache page watermark */
1853 atomic_t compress_page_hit; /* cache hit count */
1877 static inline bool time_to_inject(struct f2fs_sb_info *sbi, int type) in time_to_inject() argument