f2fs.h (64282ea2d2a90437c0739ce016b80a1dec16507e) | f2fs.h (7a10f0177e117e9935ee9e5c595fcf3c57215de5) |
---|---|
1/* 2 * fs/f2fs/f2fs.h 3 * 4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com/ 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 347 unchanged lines hidden (view full) --- 356}; 357 358/* 359 * For INODE and NODE manager 360 */ 361/* for directory operations */ 362struct f2fs_dentry_ptr { 363 struct inode *inode; | 1/* 2 * fs/f2fs/f2fs.h 3 * 4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com/ 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 347 unchanged lines hidden (view full) --- 356}; 357 358/* 359 * For INODE and NODE manager 360 */ 361/* for directory operations */ 362struct f2fs_dentry_ptr { 363 struct inode *inode; |
364 const void *bitmap; | 364 void *bitmap; |
365 struct f2fs_dir_entry *dentry; 366 __u8 (*filename)[F2FS_SLOT_LEN]; 367 int max; | 365 struct f2fs_dir_entry *dentry; 366 __u8 (*filename)[F2FS_SLOT_LEN]; 367 int max; |
368 int nr_bitmap; |
|
368}; 369 370static inline void make_dentry_ptr_block(struct inode *inode, 371 struct f2fs_dentry_ptr *d, struct f2fs_dentry_block *t) 372{ 373 d->inode = inode; 374 d->max = NR_DENTRY_IN_BLOCK; | 369}; 370 371static inline void make_dentry_ptr_block(struct inode *inode, 372 struct f2fs_dentry_ptr *d, struct f2fs_dentry_block *t) 373{ 374 d->inode = inode; 375 d->max = NR_DENTRY_IN_BLOCK; |
376 d->nr_bitmap = SIZE_OF_DENTRY_BITMAP; |
|
375 d->bitmap = &t->dentry_bitmap; 376 d->dentry = t->dentry; 377 d->filename = t->filename; 378} 379 380static inline void make_dentry_ptr_inline(struct inode *inode, 381 struct f2fs_dentry_ptr *d, struct f2fs_inline_dentry *t) 382{ 383 d->inode = inode; 384 d->max = NR_INLINE_DENTRY; | 377 d->bitmap = &t->dentry_bitmap; 378 d->dentry = t->dentry; 379 d->filename = t->filename; 380} 381 382static inline void make_dentry_ptr_inline(struct inode *inode, 383 struct f2fs_dentry_ptr *d, struct f2fs_inline_dentry *t) 384{ 385 d->inode = inode; 386 d->max = NR_INLINE_DENTRY; |
387 d->nr_bitmap = INLINE_DENTRY_BITMAP_SIZE; |
|
385 d->bitmap = &t->dentry_bitmap; 386 d->dentry = t->dentry; 387 d->filename = t->filename; 388} 389 390/* 391 * XATTR_NODE_OFFSET stores xattrs to one node block per file keeping -1 392 * as its node offset to distinguish from index node blocks. --- 135 unchanged lines hidden (view full) --- 528 struct dquot *i_dquot[MAXQUOTAS]; 529 530 /* quota space reservation, managed internally by quota code */ 531 qsize_t i_reserved_quota; 532#endif 533 struct list_head dirty_list; /* dirty list for dirs and files */ 534 struct list_head gdirty_list; /* linked in global dirty list */ 535 struct list_head inmem_pages; /* inmemory pages managed by f2fs */ | 388 d->bitmap = &t->dentry_bitmap; 389 d->dentry = t->dentry; 390 d->filename = t->filename; 391} 392 393/* 394 * XATTR_NODE_OFFSET stores xattrs to one node block per file keeping -1 395 * as its node offset to distinguish from index node blocks. --- 135 unchanged lines hidden (view full) --- 531 struct dquot *i_dquot[MAXQUOTAS]; 532 533 /* quota space reservation, managed internally by quota code */ 534 qsize_t i_reserved_quota; 535#endif 536 struct list_head dirty_list; /* dirty list for dirs and files */ 537 struct list_head gdirty_list; /* linked in global dirty list */ 538 struct list_head inmem_pages; /* inmemory pages managed by f2fs */ |
539 struct task_struct *inmem_task; /* store inmemory task */ |
|
536 struct mutex inmem_lock; /* lock for inmemory pages */ 537 struct extent_tree *extent_tree; /* cached extent_tree entry */ 538 struct rw_semaphore dio_rwsem[2];/* avoid racing between dio and gc */ 539 struct rw_semaphore i_mmap_sem; 540}; 541 542static inline void get_extent_info(struct extent_info *ext, 543 struct f2fs_extent *i_ext) --- 1736 unchanged lines hidden (view full) --- 2280void get_node_info(struct f2fs_sb_info *sbi, nid_t nid, struct node_info *ni); 2281pgoff_t get_next_page_offset(struct dnode_of_data *dn, pgoff_t pgofs); 2282int get_dnode_of_data(struct dnode_of_data *dn, pgoff_t index, int mode); 2283int truncate_inode_blocks(struct inode *inode, pgoff_t from); 2284int truncate_xattr_node(struct inode *inode, struct page *page); 2285int wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, nid_t ino); 2286int remove_inode_page(struct inode *inode); 2287struct page *new_inode_page(struct inode *inode); | 540 struct mutex inmem_lock; /* lock for inmemory pages */ 541 struct extent_tree *extent_tree; /* cached extent_tree entry */ 542 struct rw_semaphore dio_rwsem[2];/* avoid racing between dio and gc */ 543 struct rw_semaphore i_mmap_sem; 544}; 545 546static inline void get_extent_info(struct extent_info *ext, 547 struct f2fs_extent *i_ext) --- 1736 unchanged lines hidden (view full) --- 2284void get_node_info(struct f2fs_sb_info *sbi, nid_t nid, struct node_info *ni); 2285pgoff_t get_next_page_offset(struct dnode_of_data *dn, pgoff_t pgofs); 2286int get_dnode_of_data(struct dnode_of_data *dn, pgoff_t index, int mode); 2287int truncate_inode_blocks(struct inode *inode, pgoff_t from); 2288int truncate_xattr_node(struct inode *inode, struct page *page); 2289int wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, nid_t ino); 2290int remove_inode_page(struct inode *inode); 2291struct page *new_inode_page(struct inode *inode); |
2288struct page *new_node_page(struct dnode_of_data *dn, 2289 unsigned int ofs, struct page *ipage); | 2292struct page *new_node_page(struct dnode_of_data *dn, unsigned int ofs); |
2290void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid); 2291struct page *get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid); 2292struct page *get_node_page_ra(struct page *parent, int start); 2293void move_node_page(struct page *node_page, int gc_type); 2294int fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode, 2295 struct writeback_control *wbc, bool atomic); 2296int sync_node_pages(struct f2fs_sb_info *sbi, struct writeback_control *wbc); 2297void build_free_nids(struct f2fs_sb_info *sbi, bool sync, bool mount); --- 514 unchanged lines hidden --- | 2293void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid); 2294struct page *get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid); 2295struct page *get_node_page_ra(struct page *parent, int start); 2296void move_node_page(struct page *node_page, int gc_type); 2297int fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode, 2298 struct writeback_control *wbc, bool atomic); 2299int sync_node_pages(struct f2fs_sb_info *sbi, struct writeback_control *wbc); 2300void build_free_nids(struct f2fs_sb_info *sbi, bool sync, bool mount); --- 514 unchanged lines hidden --- |