Lines Matching refs:segbuf
402 struct nilfs_segment_buffer *segbuf = sci->sc_curseg; in nilfs_segctor_map_segsum_entry() local
409 &segbuf->sb_segsum_buffers)); in nilfs_segctor_map_segsum_entry()
423 struct nilfs_segment_buffer *segbuf = sci->sc_curseg; in nilfs_segctor_reset_segment_buffer() local
431 err = nilfs_segbuf_reset(segbuf, flags, sci->sc_seg_ctime, sci->sc_cno); in nilfs_segctor_reset_segment_buffer()
435 sumbh = NILFS_SEGBUF_FIRST_BH(&segbuf->sb_segsum_buffers); in nilfs_segctor_reset_segment_buffer()
436 sumbytes = segbuf->sb_sum.sumbytes; in nilfs_segctor_reset_segment_buffer()
455 struct nilfs_segment_buffer *segbuf = sci->sc_curseg; in nilfs_segctor_add_super_root() local
458 if (segbuf->sb_sum.nblocks >= segbuf->sb_rest_blocks) { in nilfs_segctor_add_super_root()
462 segbuf = sci->sc_curseg; in nilfs_segctor_add_super_root()
464 err = nilfs_segbuf_extend_payload(segbuf, &segbuf->sb_super_root); in nilfs_segctor_add_super_root()
466 segbuf->sb_sum.flags |= NILFS_SS_SR; in nilfs_segctor_add_super_root()
504 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_end_finfo() local
526 segbuf = sci->sc_curseg; in nilfs_segctor_end_finfo()
527 segbuf->sb_sum.sumbytes = sci->sc_binfo_ptr.offset + in nilfs_segctor_end_finfo()
528 sci->sc_super->s_blocksize * (segbuf->sb_sum.nsumblk - 1); in nilfs_segctor_end_finfo()
538 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_add_file_block() local
542 segbuf = sci->sc_curseg; in nilfs_segctor_add_file_block()
545 if (segbuf->sb_sum.nblocks + required + 1 > segbuf->sb_rest_blocks) { in nilfs_segctor_add_file_block()
553 err = nilfs_segbuf_extend_segsum(segbuf); in nilfs_segctor_add_file_block()
562 nilfs_segbuf_add_file_buffer(segbuf, bh); in nilfs_segctor_add_file_block()
1281 struct nilfs_segment_buffer *segbuf, *prev; in nilfs_segctor_begin_construction() local
1285 segbuf = nilfs_segbuf_new(sci->sc_super); in nilfs_segctor_begin_construction()
1286 if (unlikely(!segbuf)) in nilfs_segctor_begin_construction()
1290 nilfs_segbuf_map(segbuf, nilfs->ns_segnum, in nilfs_segctor_begin_construction()
1292 if (segbuf->sb_rest_blocks < NILFS_PSEG_MIN_BLOCKS) { in nilfs_segctor_begin_construction()
1294 nilfs_segbuf_map(segbuf, nilfs->ns_segnum, 0, nilfs); in nilfs_segctor_begin_construction()
1297 segbuf->sb_sum.seg_seq = nilfs->ns_seg_seq; in nilfs_segctor_begin_construction()
1306 nilfs_segbuf_map_cont(segbuf, prev); in nilfs_segctor_begin_construction()
1307 segbuf->sb_sum.seg_seq = prev->sb_sum.seg_seq; in nilfs_segctor_begin_construction()
1310 if (segbuf->sb_rest_blocks < NILFS_PSEG_MIN_BLOCKS) { in nilfs_segctor_begin_construction()
1311 nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs); in nilfs_segctor_begin_construction()
1312 segbuf->sb_sum.seg_seq++; in nilfs_segctor_begin_construction()
1317 err = nilfs_sufile_mark_dirty(nilfs->ns_sufile, segbuf->sb_segnum); in nilfs_segctor_begin_construction()
1326 nilfs_segbuf_set_next_segnum(segbuf, nextnum, nilfs); in nilfs_segctor_begin_construction()
1329 list_add_tail(&segbuf->sb_list, &sci->sc_segbufs); in nilfs_segctor_begin_construction()
1330 sci->sc_segbuf_nblocks = segbuf->sb_rest_blocks; in nilfs_segctor_begin_construction()
1334 nilfs_segbuf_free(segbuf); in nilfs_segctor_begin_construction()
1341 struct nilfs_segment_buffer *segbuf, *prev; in nilfs_segctor_extend_segments() local
1361 segbuf = nilfs_segbuf_new(sci->sc_super); in nilfs_segctor_extend_segments()
1362 if (unlikely(!segbuf)) in nilfs_segctor_extend_segments()
1366 nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs); in nilfs_segctor_extend_segments()
1367 sci->sc_segbuf_nblocks += segbuf->sb_rest_blocks; in nilfs_segctor_extend_segments()
1374 segbuf->sb_sum.seg_seq = prev->sb_sum.seg_seq + 1; in nilfs_segctor_extend_segments()
1375 nilfs_segbuf_set_next_segnum(segbuf, nextnextnum, nilfs); in nilfs_segctor_extend_segments()
1377 list_add_tail(&segbuf->sb_list, &list); in nilfs_segctor_extend_segments()
1378 prev = segbuf; in nilfs_segctor_extend_segments()
1384 nilfs_segbuf_free(segbuf); in nilfs_segctor_extend_segments()
1386 list_for_each_entry(segbuf, &list, sb_list) { in nilfs_segctor_extend_segments()
1387 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum); in nilfs_segctor_extend_segments()
1397 struct nilfs_segment_buffer *segbuf, *prev; in nilfs_free_incomplete_logs() local
1401 segbuf = NILFS_FIRST_SEGBUF(logs); in nilfs_free_incomplete_logs()
1402 if (nilfs->ns_nextnum != segbuf->sb_nextnum) { in nilfs_free_incomplete_logs()
1403 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum); in nilfs_free_incomplete_logs()
1406 if (atomic_read(&segbuf->sb_err)) { in nilfs_free_incomplete_logs()
1408 if (segbuf->sb_pseg_start != segbuf->sb_fseg_start) in nilfs_free_incomplete_logs()
1411 nilfs_terminate_segment(nilfs, segbuf->sb_fseg_start, in nilfs_free_incomplete_logs()
1412 segbuf->sb_fseg_end); in nilfs_free_incomplete_logs()
1417 prev = segbuf; in nilfs_free_incomplete_logs()
1418 list_for_each_entry_continue(segbuf, logs, sb_list) { in nilfs_free_incomplete_logs()
1419 if (prev->sb_nextnum != segbuf->sb_nextnum) { in nilfs_free_incomplete_logs()
1420 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum); in nilfs_free_incomplete_logs()
1423 if (atomic_read(&segbuf->sb_err) && in nilfs_free_incomplete_logs()
1424 segbuf->sb_segnum != nilfs->ns_nextnum) in nilfs_free_incomplete_logs()
1426 nilfs_sufile_set_error(sufile, segbuf->sb_segnum); in nilfs_free_incomplete_logs()
1427 prev = segbuf; in nilfs_free_incomplete_logs()
1434 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_update_segusage() local
1438 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) { in nilfs_segctor_update_segusage()
1439 live_blocks = segbuf->sb_sum.nblocks + in nilfs_segctor_update_segusage()
1440 (segbuf->sb_pseg_start - segbuf->sb_fseg_start); in nilfs_segctor_update_segusage()
1441 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum, in nilfs_segctor_update_segusage()
1450 struct nilfs_segment_buffer *segbuf; in nilfs_cancel_segusage() local
1453 segbuf = NILFS_FIRST_SEGBUF(logs); in nilfs_cancel_segusage()
1454 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum, in nilfs_cancel_segusage()
1455 segbuf->sb_pseg_start - in nilfs_cancel_segusage()
1456 segbuf->sb_fseg_start, 0); in nilfs_cancel_segusage()
1459 list_for_each_entry_continue(segbuf, logs, sb_list) { in nilfs_cancel_segusage()
1460 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum, in nilfs_cancel_segusage()
1470 struct nilfs_segment_buffer *segbuf = last; in nilfs_segctor_truncate_segments() local
1473 list_for_each_entry_continue(segbuf, &sci->sc_segbufs, sb_list) { in nilfs_segctor_truncate_segments()
1474 sci->sc_segbuf_nblocks -= segbuf->sb_rest_blocks; in nilfs_segctor_truncate_segments()
1475 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum); in nilfs_segctor_truncate_segments()
1546 struct nilfs_segment_buffer *segbuf, in nilfs_segctor_update_payload_blocknr() argument
1551 unsigned long nfinfo = segbuf->sb_sum.nfinfo; in nilfs_segctor_update_payload_blocknr()
1564 blocknr = segbuf->sb_pseg_start + segbuf->sb_sum.nsumblk; in nilfs_segctor_update_payload_blocknr()
1565 ssp.bh = NILFS_SEGBUF_FIRST_BH(&segbuf->sb_segsum_buffers); in nilfs_segctor_update_payload_blocknr()
1568 list_for_each_entry(bh, &segbuf->sb_payload_buffers, b_assoc_buffers) { in nilfs_segctor_update_payload_blocknr()
1569 if (bh == segbuf->sb_super_root) in nilfs_segctor_update_payload_blocknr()
1619 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_assign() local
1622 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) { in nilfs_segctor_assign()
1623 err = nilfs_segctor_update_payload_blocknr(sci, segbuf, mode); in nilfs_segctor_assign()
1626 nilfs_segbuf_fill_in_segsum(segbuf); in nilfs_segctor_assign()
1646 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_prepare_write() local
1649 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) { in nilfs_segctor_prepare_write()
1652 list_for_each_entry(bh, &segbuf->sb_segsum_buffers, in nilfs_segctor_prepare_write()
1665 list_for_each_entry(bh, &segbuf->sb_payload_buffers, in nilfs_segctor_prepare_write()
1668 if (bh == segbuf->sb_super_root) { in nilfs_segctor_prepare_write()
1743 struct nilfs_segment_buffer *segbuf; in nilfs_abort_logs() local
1750 list_for_each_entry(segbuf, logs, sb_list) { in nilfs_abort_logs()
1751 list_for_each_entry(bh, &segbuf->sb_segsum_buffers, in nilfs_abort_logs()
1760 list_for_each_entry(bh, &segbuf->sb_payload_buffers, in nilfs_abort_logs()
1763 if (bh == segbuf->sb_super_root) { in nilfs_abort_logs()
1808 struct nilfs_segment_buffer *segbuf) in nilfs_set_next_segment() argument
1810 nilfs->ns_segnum = segbuf->sb_segnum; in nilfs_set_next_segment()
1811 nilfs->ns_nextnum = segbuf->sb_nextnum; in nilfs_set_next_segment()
1812 nilfs->ns_pseg_offset = segbuf->sb_pseg_start - segbuf->sb_fseg_start in nilfs_set_next_segment()
1813 + segbuf->sb_sum.nblocks; in nilfs_set_next_segment()
1814 nilfs->ns_seg_seq = segbuf->sb_sum.seg_seq; in nilfs_set_next_segment()
1815 nilfs->ns_ctime = segbuf->sb_sum.ctime; in nilfs_set_next_segment()
1820 struct nilfs_segment_buffer *segbuf; in nilfs_segctor_complete_write() local
1825 list_for_each_entry(segbuf, &sci->sc_write_logs, sb_list) { in nilfs_segctor_complete_write()
1828 list_for_each_entry(bh, &segbuf->sb_segsum_buffers, in nilfs_segctor_complete_write()
1849 list_for_each_entry(bh, &segbuf->sb_payload_buffers, in nilfs_segctor_complete_write()
1858 if (bh == segbuf->sb_super_root) { in nilfs_segctor_complete_write()
1872 if (!nilfs_segbuf_simplex(segbuf)) { in nilfs_segctor_complete_write()
1873 if (segbuf->sb_sum.flags & NILFS_SS_LOGBGN) { in nilfs_segctor_complete_write()
1877 if (segbuf->sb_sum.flags & NILFS_SS_LOGEND) in nilfs_segctor_complete_write()
1899 segbuf = NILFS_LAST_SEGBUF(&sci->sc_write_logs); in nilfs_segctor_complete_write()
1900 nilfs_set_next_segment(nilfs, segbuf); in nilfs_segctor_complete_write()
1904 nilfs_set_last_segment(nilfs, segbuf->sb_pseg_start, in nilfs_segctor_complete_write()
1905 segbuf->sb_sum.seg_seq, nilfs->ns_cno++); in nilfs_segctor_complete_write()