"\n"
"Options:\n"
" -a Read entire journal, not just dirty entries\n"
+ " -n Number of journal entries to print, starting from the most recent\n"
" -h Display this help and exit\n"
"Report bugs to <linux-bcache@vger.kernel.org>");
}
int cmd_list_journal(int argc, char *argv[])
{
struct bch_opts opts = bch2_opts_empty();
+ u32 nr_entries = U32_MAX;
int opt;
opt_set(opts, nochanges, true);
opt_set(opts, keep_journal, true);
opt_set(opts, read_journal_only,true);
- while ((opt = getopt(argc, argv, "ah")) != -1)
+ while ((opt = getopt(argc, argv, "an:h")) != -1)
switch (opt) {
case 'a':
opt_set(opts, read_entire_journal, true);
break;
+ case 'n':
+ nr_entries = kstrtouint(optarg, 10, &nr_entries);
+ opt_set(opts, read_entire_journal, true);
+ break;
case 'h':
list_journal_usage();
exit(EXIT_SUCCESS);
if (!p)
continue;
+ if (le64_to_cpu(p->j.seq) + nr_entries < atomic64_read(&c->journal.seq))
+ continue;
+
bool blacklisted =
bch2_journal_seq_is_blacklisted(c,
le64_to_cpu(p->j.seq), false);