sd-journal: use -EBADF for journal_file_open()
This commit is contained in:
@@ -293,7 +293,7 @@ static int server_open_journal(
|
||||
&f);
|
||||
else
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
fname,
|
||||
open_flags,
|
||||
file_flags,
|
||||
|
||||
@@ -62,7 +62,7 @@ static int journal_corrupt_and_append(uint64_t start_offset, uint64_t step) {
|
||||
log_debug("Opening journal %s/system.journal", tempdir);
|
||||
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
"system.journal",
|
||||
O_RDWR|O_CREAT,
|
||||
JOURNAL_COMPRESS,
|
||||
@@ -114,7 +114,7 @@ static int journal_corrupt_and_append(uint64_t start_offset, uint64_t step) {
|
||||
* the corrupted journal */
|
||||
mj = journal_file_offline_close(mj);
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
"system.journal",
|
||||
O_RDWR|O_CREAT,
|
||||
JOURNAL_COMPRESS,
|
||||
|
||||
@@ -32,7 +32,7 @@ static void test_journal_flush_one(int argc, char *argv[]) {
|
||||
|
||||
assert_se(fn = path_join(dn, "test.journal"));
|
||||
|
||||
r = journal_file_open(-1, fn, O_CREAT|O_RDWR, 0, 0644, 0, NULL, m, NULL, &new_journal);
|
||||
r = journal_file_open(-EBADF, fn, O_CREAT|O_RDWR, 0, 0644, 0, NULL, m, NULL, &new_journal);
|
||||
assert_se(r >= 0);
|
||||
|
||||
if (argc > 1)
|
||||
|
||||
@@ -43,7 +43,7 @@ static JournalFile *test_open_internal(const char *name, JournalFileFlags flags)
|
||||
m = mmap_cache_new();
|
||||
assert_se(m != NULL);
|
||||
|
||||
assert_ret(journal_file_open(-1, name, O_RDWR|O_CREAT, flags, 0644, UINT64_MAX, NULL, m, NULL, &f));
|
||||
assert_ret(journal_file_open(-EBADF, name, O_RDWR|O_CREAT, flags, 0644, UINT64_MAX, NULL, m, NULL, &f));
|
||||
return f;
|
||||
}
|
||||
|
||||
@@ -453,7 +453,7 @@ static void test_sequence_numbers_one(void) {
|
||||
|
||||
mkdtemp_chdir_chattr(t);
|
||||
|
||||
assert_se(journal_file_open(-1, "one.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
assert_se(journal_file_open(-EBADF, "one.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
UINT64_MAX, NULL, m, NULL, &one) == 0);
|
||||
|
||||
append_number(one, 1, NULL, &seqnum, NULL);
|
||||
@@ -470,7 +470,7 @@ static void test_sequence_numbers_one(void) {
|
||||
|
||||
memcpy(&seqnum_id, &one->header->seqnum_id, sizeof(sd_id128_t));
|
||||
|
||||
assert_se(journal_file_open(-1, "two.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
assert_se(journal_file_open(-EBADF, "two.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
UINT64_MAX, NULL, m, one, &two) == 0);
|
||||
|
||||
assert_se(two->header->state == STATE_ONLINE);
|
||||
@@ -507,7 +507,7 @@ static void test_sequence_numbers_one(void) {
|
||||
/* restart server */
|
||||
seqnum = 0;
|
||||
|
||||
assert_se(journal_file_open(-1, "two.journal", O_RDWR, JOURNAL_COMPRESS, 0,
|
||||
assert_se(journal_file_open(-EBADF, "two.journal", O_RDWR, JOURNAL_COMPRESS, 0,
|
||||
UINT64_MAX, NULL, m, NULL, &two) == 0);
|
||||
|
||||
assert_se(sd_id128_equal(two->header->seqnum_id, seqnum_id));
|
||||
@@ -781,7 +781,7 @@ static void test_generic_array_bisect_one(size_t n, size_t num_corrupted) {
|
||||
|
||||
mkdtemp_chdir_chattr(t);
|
||||
|
||||
assert_se(journal_file_open(-1, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
assert_se(journal_file_open(-EBADF, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0644,
|
||||
UINT64_MAX, NULL, m, NULL, &f) == 0);
|
||||
|
||||
assert_se(seqnum = new0(uint64_t, n));
|
||||
|
||||
@@ -76,9 +76,9 @@ static void run_test(void) {
|
||||
assert_se(chdir(t) >= 0);
|
||||
(void) chattr_path(t, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
|
||||
|
||||
assert_se(journal_file_open(-1, "one.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &one) == 0);
|
||||
assert_se(journal_file_open(-1, "two.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &two) == 0);
|
||||
assert_se(journal_file_open(-1, "three.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &three) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "one.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &one) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "two.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &two) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "three.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &three) == 0);
|
||||
|
||||
for (i = 0; i < N_ENTRIES; i++) {
|
||||
char *p, *q;
|
||||
|
||||
@@ -47,7 +47,7 @@ static int raw_verify(const char *fn, const char *verification_key) {
|
||||
assert_se(m != NULL);
|
||||
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
fn,
|
||||
O_RDONLY,
|
||||
JOURNAL_COMPRESS|(verification_key ? JOURNAL_SEAL : 0),
|
||||
@@ -92,7 +92,7 @@ static int run_test(const char *verification_key, ssize_t max_iterations) {
|
||||
log_info("Generating a test journal");
|
||||
|
||||
assert_se(journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
"test.journal",
|
||||
O_RDWR|O_CREAT,
|
||||
JOURNAL_COMPRESS|(verification_key ? JOURNAL_SEAL : 0),
|
||||
@@ -128,7 +128,7 @@ static int run_test(const char *verification_key, ssize_t max_iterations) {
|
||||
log_info("Verifying with key: %s", strna(verification_key));
|
||||
|
||||
assert_se(journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
"test.journal",
|
||||
O_RDONLY,
|
||||
JOURNAL_COMPRESS|(verification_key ? JOURNAL_SEAL : 0),
|
||||
|
||||
@@ -39,7 +39,7 @@ static void test_non_empty_one(void) {
|
||||
|
||||
mkdtemp_chdir_chattr(t);
|
||||
|
||||
assert_se(journal_file_open(-1, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f) == 0);
|
||||
|
||||
assert_se(dual_timestamp_now(&ts));
|
||||
assert_se(sd_id128_randomize(&fake_boot_id) == 0);
|
||||
@@ -136,10 +136,10 @@ static void test_empty_one(void) {
|
||||
|
||||
mkdtemp_chdir_chattr(t);
|
||||
|
||||
assert_se(journal_file_open(-1, "test.journal", O_RDWR|O_CREAT, 0, 0666, UINT64_MAX, NULL, m, NULL, &f1) == 0);
|
||||
assert_se(journal_file_open(-1, "test-compress.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &f2) == 0);
|
||||
assert_se(journal_file_open(-1, "test-seal.journal", O_RDWR|O_CREAT, JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f3) == 0);
|
||||
assert_se(journal_file_open(-1, "test-seal-compress.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f4) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test.journal", O_RDWR|O_CREAT, 0, 0666, UINT64_MAX, NULL, m, NULL, &f1) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test-compress.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS, 0666, UINT64_MAX, NULL, m, NULL, &f2) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test-seal.journal", O_RDWR|O_CREAT, JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f3) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test-seal-compress.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, UINT64_MAX, NULL, m, NULL, &f4) == 0);
|
||||
|
||||
journal_file_print_header(f1);
|
||||
puts("");
|
||||
@@ -194,7 +194,7 @@ static bool check_compressed(uint64_t compress_threshold, uint64_t data_size) {
|
||||
|
||||
mkdtemp_chdir_chattr(t);
|
||||
|
||||
assert_se(journal_file_open(-1, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, compress_threshold, NULL, m, NULL, &f) == 0);
|
||||
assert_se(journal_file_open(-EBADF, "test.journal", O_RDWR|O_CREAT, JOURNAL_COMPRESS|JOURNAL_SEAL, 0666, compress_threshold, NULL, m, NULL, &f) == 0);
|
||||
|
||||
dual_timestamp_now(&ts);
|
||||
|
||||
|
||||
@@ -446,7 +446,7 @@ int journal_file_rotate(
|
||||
set_clear_with_destructor(deferred_closes, journal_file_offline_close);
|
||||
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
path,
|
||||
(*f)->open_flags,
|
||||
file_flags,
|
||||
@@ -478,7 +478,7 @@ int journal_file_open_reliably(
|
||||
int r;
|
||||
|
||||
r = journal_file_open(
|
||||
/* fd= */ -1,
|
||||
/* fd= */ -EBADF,
|
||||
fname,
|
||||
open_flags,
|
||||
file_flags,
|
||||
@@ -515,7 +515,7 @@ int journal_file_open_reliably(
|
||||
if (!template) {
|
||||
/* The file is corrupted and no template is specified. Try opening it read-only as the
|
||||
* template before rotating to inherit its sequence number and ID. */
|
||||
r = journal_file_open(-1, fname,
|
||||
r = journal_file_open(-EBADF, fname,
|
||||
(open_flags & ~(O_ACCMODE|O_CREAT|O_EXCL)) | O_RDONLY,
|
||||
file_flags, 0, compress_threshold_bytes, NULL,
|
||||
mmap_cache, NULL, &old_file);
|
||||
@@ -529,6 +529,6 @@ int journal_file_open_reliably(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return journal_file_open(-1, fname, open_flags, file_flags, mode, compress_threshold_bytes, metrics,
|
||||
return journal_file_open(-EBADF, fname, open_flags, file_flags, mode, compress_threshold_bytes, metrics,
|
||||
mmap_cache, template, ret);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user