Lines Matching defs:segbuf

33 #include "segbuf.h"
392 struct nilfs_segment_buffer *segbuf = sci->sc_curseg;
399 &segbuf->sb_segsum_buffers));
415 struct nilfs_segment_buffer *segbuf = sci->sc_curseg;
423 err = nilfs_segbuf_reset(segbuf, flags, sci->sc_seg_ctime, sci->sc_cno);
427 sumbh = NILFS_SEGBUF_FIRST_BH(&segbuf->sb_segsum_buffers);
428 sumbytes = segbuf->sb_sum.sumbytes;
467 struct nilfs_segment_buffer *segbuf = sci->sc_curseg;
470 if (segbuf->sb_sum.nblocks >= segbuf->sb_rest_blocks) {
474 segbuf = sci->sc_curseg;
476 err = nilfs_segbuf_extend_payload(segbuf, &segbuf->sb_super_root);
478 segbuf->sb_sum.flags |= NILFS_SS_SR;
516 struct nilfs_segment_buffer *segbuf;
538 segbuf = sci->sc_curseg;
539 segbuf->sb_sum.sumbytes = sci->sc_binfo_ptr.offset +
540 sci->sc_super->s_blocksize * (segbuf->sb_sum.nsumblk - 1);
550 struct nilfs_segment_buffer *segbuf;
554 segbuf = sci->sc_curseg;
557 if (segbuf->sb_sum.nblocks + required + 1 > segbuf->sb_rest_blocks) {
566 err = nilfs_segbuf_extend_segsum(segbuf);
575 nilfs_segbuf_add_file_buffer(segbuf, bh);
1329 struct nilfs_segment_buffer *segbuf, *prev;
1333 segbuf = nilfs_segbuf_new(sci->sc_super);
1334 if (unlikely(!segbuf))
1338 nilfs_segbuf_map(segbuf, nilfs->ns_segnum,
1340 if (segbuf->sb_rest_blocks < NILFS_PSEG_MIN_BLOCKS) {
1342 nilfs_segbuf_map(segbuf, nilfs->ns_segnum, 0, nilfs);
1345 segbuf->sb_sum.seg_seq = nilfs->ns_seg_seq;
1354 nilfs_segbuf_map_cont(segbuf, prev);
1355 segbuf->sb_sum.seg_seq = prev->sb_sum.seg_seq;
1358 if (segbuf->sb_rest_blocks < NILFS_PSEG_MIN_BLOCKS) {
1359 nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs);
1360 segbuf->sb_sum.seg_seq++;
1365 err = nilfs_sufile_mark_dirty(nilfs->ns_sufile, segbuf->sb_segnum);
1374 nilfs_segbuf_set_next_segnum(segbuf, nextnum, nilfs);
1377 list_add_tail(&segbuf->sb_list, &sci->sc_segbufs);
1378 sci->sc_segbuf_nblocks = segbuf->sb_rest_blocks;
1382 nilfs_segbuf_free(segbuf);
1389 struct nilfs_segment_buffer *segbuf, *prev;
1409 segbuf = nilfs_segbuf_new(sci->sc_super);
1410 if (unlikely(!segbuf))
1414 nilfs_segbuf_map(segbuf, prev->sb_nextnum, 0, nilfs);
1415 sci->sc_segbuf_nblocks += segbuf->sb_rest_blocks;
1422 segbuf->sb_sum.seg_seq = prev->sb_sum.seg_seq + 1;
1423 nilfs_segbuf_set_next_segnum(segbuf, nextnextnum, nilfs);
1425 list_add_tail(&segbuf->sb_list, &list);
1426 prev = segbuf;
1432 nilfs_segbuf_free(segbuf);
1434 list_for_each_entry(segbuf, &list, sb_list) {
1435 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum);
1445 struct nilfs_segment_buffer *segbuf, *prev;
1449 segbuf = NILFS_FIRST_SEGBUF(logs);
1450 if (nilfs->ns_nextnum != segbuf->sb_nextnum) {
1451 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum);
1454 if (atomic_read(&segbuf->sb_err)) {
1456 if (segbuf->sb_pseg_start != segbuf->sb_fseg_start)
1461 nilfs_terminate_segment(nilfs, segbuf->sb_fseg_start,
1462 segbuf->sb_fseg_end);
1467 prev = segbuf;
1468 list_for_each_entry_continue(segbuf, logs, sb_list) {
1469 if (prev->sb_nextnum != segbuf->sb_nextnum) {
1470 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum);
1473 if (atomic_read(&segbuf->sb_err) &&
1474 segbuf->sb_segnum != nilfs->ns_nextnum)
1476 nilfs_sufile_set_error(sufile, segbuf->sb_segnum);
1477 prev = segbuf;
1484 struct nilfs_segment_buffer *segbuf;
1488 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) {
1489 live_blocks = segbuf->sb_sum.nblocks +
1490 (segbuf->sb_pseg_start - segbuf->sb_fseg_start);
1491 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum,
1500 struct nilfs_segment_buffer *segbuf;
1503 segbuf = NILFS_FIRST_SEGBUF(logs);
1504 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum,
1505 segbuf->sb_pseg_start -
1506 segbuf->sb_fseg_start, 0);
1509 list_for_each_entry_continue(segbuf, logs, sb_list) {
1510 ret = nilfs_sufile_set_segment_usage(sufile, segbuf->sb_segnum,
1520 struct nilfs_segment_buffer *segbuf = last;
1523 list_for_each_entry_continue(segbuf, &sci->sc_segbufs, sb_list) {
1524 sci->sc_segbuf_nblocks -= segbuf->sb_rest_blocks;
1525 ret = nilfs_sufile_free(sufile, segbuf->sb_nextnum);
1597 struct nilfs_segment_buffer *segbuf,
1602 unsigned long nfinfo = segbuf->sb_sum.nfinfo;
1615 blocknr = segbuf->sb_pseg_start + segbuf->sb_sum.nsumblk;
1616 ssp.bh = NILFS_SEGBUF_FIRST_BH(&segbuf->sb_segsum_buffers);
1619 list_for_each_entry(bh, &segbuf->sb_payload_buffers, b_assoc_buffers) {
1620 if (bh == segbuf->sb_super_root)
1670 struct nilfs_segment_buffer *segbuf;
1673 list_for_each_entry(segbuf, &sci->sc_segbufs, sb_list) {
1674 err = nilfs_segctor_update_payload_blocknr(sci, segbuf, mode);
1677 nilfs_segbuf_fill_in_segsum(segbuf);
1711 struct nilfs_segment_buffer *segbuf;
1716 list_for_each_entry(segbuf, logs, sb_list) {
1717 list_for_each_entry(bh, &segbuf->sb_payload_buffers,
1719 if (bh == segbuf->sb_super_root)
1733 list_for_each_entry(segbuf, logs, sb_list) {
1734 list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
1818 struct nilfs_segment_buffer *segbuf;
1825 list_for_each_entry(segbuf, logs, sb_list) {
1826 list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
1836 list_for_each_entry(bh, &segbuf->sb_payload_buffers,
1838 if (bh == segbuf->sb_super_root) {
1888 struct nilfs_segment_buffer *segbuf)
1890 nilfs->ns_segnum = segbuf->sb_segnum;
1891 nilfs->ns_nextnum = segbuf->sb_nextnum;
1892 nilfs->ns_pseg_offset = segbuf->sb_pseg_start - segbuf->sb_fseg_start
1893 + segbuf->sb_sum.nblocks;
1894 nilfs->ns_seg_seq = segbuf->sb_sum.seg_seq;
1895 nilfs->ns_ctime = segbuf->sb_sum.ctime;
1900 struct nilfs_segment_buffer *segbuf;
1905 list_for_each_entry(segbuf, &sci->sc_write_logs, sb_list) {
1908 list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
1929 list_for_each_entry(bh, &segbuf->sb_payload_buffers,
1937 if (bh == segbuf->sb_super_root) {
1954 if (!nilfs_segbuf_simplex(segbuf)) {
1955 if (segbuf->sb_sum.flags & NILFS_SS_LOGBGN) {
1959 if (segbuf->sb_sum.flags & NILFS_SS_LOGEND)
1981 segbuf = NILFS_LAST_SEGBUF(&sci->sc_write_logs);
1982 nilfs_set_next_segment(nilfs, segbuf);
1986 nilfs_set_last_segment(nilfs, segbuf->sb_pseg_start,
1987 segbuf->sb_sum.seg_seq, nilfs->ns_cno++);