Home | History | Annotate | Download | only in fsck

Lines Matching refs:sbi

203 static inline struct f2fs_super_block *F2FS_RAW_SUPER(struct f2fs_sb_info *sbi)
205 return (struct f2fs_super_block *)(sbi->raw_super);
208 static inline struct f2fs_checkpoint *F2FS_CKPT(struct f2fs_sb_info *sbi)
210 return (struct f2fs_checkpoint *)(sbi->ckpt);
213 static inline struct f2fs_fsck *F2FS_FSCK(struct f2fs_sb_info *sbi)
215 return (struct f2fs_fsck *)(sbi->fsck);
218 static inline struct f2fs_nm_info *NM_I(struct f2fs_sb_info *sbi)
220 return (struct f2fs_nm_info *)(sbi->nm_info);
223 static inline struct f2fs_sm_info *SM_I(struct f2fs_sb_info *sbi)
225 return (struct f2fs_sm_info *)(sbi->sm_info);
228 static inline struct sit_info *SIT_I(struct f2fs_sb_info *sbi)
230 return (struct sit_info *)(SM_I(sbi)->sit_info);
244 static inline unsigned long __bitmap_size(struct f2fs_sb_info *sbi, int flag)
246 struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi);
257 static inline void *__bitmap_ptr(struct f2fs_sb_info *sbi, int flag)
259 struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi);
261 if (le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload) > 0) {
279 static inline block_t __start_cp_addr(struct f2fs_sb_info *sbi)
281 block_t start_addr = le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_blkaddr);
283 if (sbi->cur_cp == 2)
284 start_addr += sbi->blocks_per_seg;
288 static inline block_t __start_sum_addr(struct f2fs_sb_info *sbi)
290 return le32_to_cpu(F2FS_CKPT(sbi)->cp_pack_start_sum);
293 static inline block_t __end_block_addr(struct f2fs_sb_info *sbi)
295 block_t end = SM_I(sbi)->main_blkaddr;
296 return end + le64_to_cpu(F2FS_RAW_SUPER(sbi)->block_count);
299 #define GET_ZONENO_FROM_SEGNO(sbi, segno) \
300 ((segno / sbi->segs_per_sec) / sbi->secs_per_zone)
310 #define GET_SUM_BLKADDR(sbi, segno) \
311 ((sbi->sm_info->ssa_blkaddr) + segno)
313 #define GET_SEGOFF_FROM_SEG0(sbi, blk_addr) \
314 ((blk_addr) - SM_I(sbi)->seg0_blkaddr)
316 #define GET_SEGNO_FROM_SEG0(sbi, blk_addr) \
317 (GET_SEGOFF_FROM_SEG0(sbi, blk_addr) >> sbi->log_blocks_per_seg)
319 #define GET_BLKOFF_FROM_SEG0(sbi, blk_addr) \
320 (GET_SEGOFF_FROM_SEG0(sbi, blk_addr) & (sbi->blocks_per_seg - 1))
322 #define FREE_I_START_SEGNO(sbi) \
323 GET_SEGNO_FROM_SEG0(sbi, SM_I(sbi)->main_blkaddr)
324 #define GET_R2L_SEGNO(sbi, segno) (segno + FREE_I_START_SEGNO(sbi))
326 #define START_BLOCK(sbi, segno) (SM_I(sbi)->main_blkaddr + \
327 ((segno) << sbi->log_blocks_per_seg))
329 static inline struct curseg_info *CURSEG_I(struct f2fs_sb_info *sbi, int type)
331 return (struct curseg_info *)(SM_I(sbi)->curseg_array + type);
334 static inline block_t start_sum_block(struct f2fs_sb_info *sbi)
336 return __start_cp_addr(sbi) + le32_to_cpu(F2FS_CKPT(sbi)->cp_pack_start_sum);
339 static inline block_t sum_blk_addr(struct f2fs_sb_info *sbi, int base, int type)
341 return __start_cp_addr(sbi) + le32_to_cpu(F2FS_CKPT(sbi)->cp_pack_total_block_count)
357 #define TOTAL_SEGS(sbi) (SM_I(sbi)->main_segments)
359 static inline bool IS_VALID_NID(struct f2fs_sb_info *sbi, u32 nid)
362 le32_to_cpu(F2FS_RAW_SUPER(sbi)->segment_count_nat)
363 << (sbi->log_blocks_per_seg - 1)));
366 static inline bool IS_VALID_BLK_ADDR(struct f2fs_sb_info *sbi, u32 addr)
370 if (addr >= le64_to_cpu(F2FS_RAW_SUPER(sbi)->block_count) ||
371 addr < SM_I(sbi)->main_blkaddr) {
377 struct curseg_info *curseg = CURSEG_I(sbi, i);
379 if (START_BLOCK(sbi, curseg->segno) +
386 static inline int IS_CUR_SEGNO(struct f2fs_sb_info *sbi, u32 segno, int type)
391 struct curseg_info *curseg = CURSEG_I(sbi, i);
402 static inline u64 BLKOFF_FROM_MAIN(struct f2fs_sb_info *sbi, u64 blk_addr)
404 ASSERT(blk_addr >= SM_I(sbi)->main_blkaddr);
405 return blk_addr - SM_I(sbi)->main_blkaddr;
408 static inline u32 GET_SEGNO(struct f2fs_sb_info *sbi, u64 blk_addr)
410 return (u32)(BLKOFF_FROM_MAIN(sbi, blk_addr)
411 >> sbi->log_blocks_per_seg);
414 static inline u32 OFFSET_IN_SEG(struct f2fs_sb_info *sbi, u64 blk_addr)
416 return (u32)(BLKOFF_FROM_MAIN(sbi, blk_addr)
417 % (1 << sbi->log_blocks_per_seg));
464 extern int lookup_nat_in_journal(struct f2fs_sb_info *sbi, u32 nid, struct f2fs_nat_entry *ne);