---
name: "gfjournaladmin"
section: "1"
platform: "linux"
package: "gfmd"
version: "2.7.20+dfsg-1.2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gfjournaladmin"
---

# gfjournaladmin(1)

erase a particular record in a journal file

## NAME

gfjournaladmin - erase a particular record in a journal file

## SYNOPSIS

**gfjournaladmin** \[*options*\] *journal-file* *sequence-number*

## DESCRIPTION

**gfjournaladmin** erases a record with *sequence-number* in a journal file. Since the record is replaced by A NOP (no operation) record with the same length, other records in the journal file are not moved or modified.

When gfmd detects a conflict of metadata, it reports a log message like as the following and aborts immediately.

```
	db_journal_store_thread : seqnum=938 ope=FILECOPY_ADD : \
	    already exists
```

Such a conflict should not happen, but once it has been caused by a bug of gfmd, restarting gfmd never succeeds. Since gfmd applies journal data at boot time, it finds the conflict and aborts again. **gfjournaladmin** command is used for getting out from the situation. The log message shown above suggests a record with the sequence number 938 causes a conflict. You can delete the record by executing:

```
	gfjournaladmin /var/gfarm-metadata/journal/0000000000.gmj 938
```

Note that **gfjournaladmin** cannot erase a journal record of BEGIN (operation ID 1) or END (operation ID 2).

## OPTIONS

- **-h**

  Displays a list of command options.

- **-?**

  Equivalent to **-h**.

- **-n**

  Read a journal file, but do not write actually.

- **-v**

  Prints verbose messages.
