• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/logfs/

Lines Matching defs:segno

65 static int segment_is_reserved(struct super_block *sb, u32 segno)
73 reserved = btree_lookup32(&super->s_reserved_segments, segno);
80 if (area->a_is_open && area->a_segno == segno)
87 static void logfs_mark_segment_bad(struct super_block *sb, u32 segno)
96 static u32 logfs_valid_bytes(struct super_block *sb, u32 segno, u32 *ec,
102 logfs_get_segment_entry(sb, segno, &se);
125 static u32 logfs_gc_segment(struct super_block *sb, u32 segno)
135 LOGFS_BUG_ON(segment_is_reserved(sb, segno), sb);
137 btree_insert32(&super->s_reserved_segments, segno, (void *)1, GFP_NOFS);
138 err = wbuf_read(sb, dev_ofs(sb, segno, 0), sizeof(sh), &sh);
141 logical_segno = be32_to_cpu(sh.segno);
143 logfs_mark_segment_bad(sb, segno);
151 err = wbuf_read(sb, dev_ofs(sb, segno, seg_ofs), sizeof(oh),
159 logfs_mark_segment_bad(sb, segno);
178 btree_remove32(&super->s_reserved_segments, segno);
230 btree_remove32(&super->s_cand_tree, cand->segno);
237 u32 segno;
243 segno = cand->segno;
247 return segno;
276 cand->segno, cand->erase_count,
277 dev_ofs(sb, cand->segno, 0));
281 cand->segno, cand->erase_count,
282 dev_ofs(sb, cand->segno, 0));
298 static int add_candidate(struct super_block *sb, u32 segno, u32 valid, u32 ec,
308 cand->segno = segno;
313 btree_insert32(&super->s_cand_tree, segno, cand, GFP_NOFS);
318 static void remove_segment_from_lists(struct super_block *sb, u32 segno)
323 cand = btree_lookup32(&super->s_cand_tree, segno);
330 static void scan_segment(struct super_block *sb, u32 segno)
336 if (segment_is_reserved(sb, segno))
339 remove_segment_from_lists(sb, segno);
340 valid = logfs_valid_bytes(sb, segno, &ec, &gc_level);
345 add_candidate(sb, segno, valid, ec, dist);
388 u32 cleaned, valid, segno, ec;
396 segno = cand->segno;
398 valid = logfs_valid_bytes(sb, segno, &ec, &gc_level);
401 segno, (u64)segno << super->s_segshift,
404 cleaned = logfs_gc_segment(sb, segno);
405 log_gc("GC segment #%02x complete - now %x valid\n", segno,
425 u32 segno;
428 segno = super->s_sweeper;
430 segno++;
431 if (segno >= super->s_no_segs) {
432 segno = 0;
441 scan_segment(sb, segno);
443 super->s_sweeper = segno;
602 u32 segno = seg_no(sb, super->s_sb_ofs[i]);
605 logfs_get_segment_entry(sb, segno, &se);
637 u32 segno = area->a_segno;
656 valid = logfs_valid_bytes(sb, segno, &ec, &gc_level);
657 cleaned = logfs_gc_segment(sb, segno);