Exemplo n.º 1
0
static int lssu_list_suinfo(struct nilfs *nilfs, int all)
{
	struct nilfs_sustat sustat;
	__u64 segnum, rest, count;
	ssize_t nsi, n;

	lssu_print_header();
	if (nilfs_get_sustat(nilfs, &sustat) < 0)
		return 1;
	segnum = param_index;
	rest = param_lines && param_lines < sustat.ss_nsegs ? param_lines :
		sustat.ss_nsegs;

	for ( ; rest > 0 && segnum < sustat.ss_nsegs; rest -= n) {
		count = (rest < LSSU_NSEGS) ? rest : LSSU_NSEGS;
		nsi = nilfs_get_suinfo(nilfs, segnum, suinfos, count);
		if (nsi < 0)
			return 1;

		n = lssu_print_suinfo(segnum, nsi, all);
		segnum += nsi;
	}

	return 0;
}
Exemplo n.º 2
0
static int lssu_list_suinfo(struct nilfs *nilfs, unsigned long* bitmap)
{
	struct nilfs_sustat sustat;
	__u64 segnum, rest, count;
	ssize_t nsi, n;

	if (nilfs_get_sustat(nilfs, &sustat) < 0)
		return 1;
	segnum = 0;
	rest = sustat.ss_nsegs;

	for ( ; rest > 0 && segnum < sustat.ss_nsegs; rest -= n) {
		count = min_t(__u64, rest, LSSU_NSEGS);
		nsi = nilfs_get_suinfo(nilfs, segnum, suinfos, count);
		if (nsi < 0)
			return 1;

		n = lssu_print_suinfo(nilfs, segnum, nsi, sustat.ss_prot_seq, bitmap);
		segnum += nsi;
	}

	return 0;
}