[DragonFlyBSD - Bug #2863] HAMMER synch tid is zero

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Sat Dec 12 23:24:31 PST 2015

Issue #2863 has been updated by shamaz.

File hammer_flusher.c.patch added

hmp->next_tid is already initialized when hammer_flusher_create() is called. This is what I get with "hmp->flusher.tid = hmp->next_tid;" :

# mount /dev/vkd1s0a /mnt/
HAMMER(TEST) recovery check seqno=000fbfff
HAMMER(TEST) recovery range 3000000000000000-3000000000000000
HAMMER(TEST) recovery nexto 3000000000000000 endseqno=000fc000
HAMMER(TEST) mounted clean, no recovery needed
# cd /mnt/
# touch it
# hammer snapq .
# touch works
# hammer snapq .
# touch so
# hammer snapq .
# cd
# umount /mnt
# mount /dev/vkd1s0a /mnt/
HAMMER(TEST) recovery check seqno=000fc04a
HAMMER(TEST) recovery range 3000000000006920-3000000000006920
HAMMER(TEST) recovery nexto 3000000000006920 endseqno=000fc04b
HAMMER(TEST) mounted clean, no recovery needed
# hammer snapq /mnt/
# echo "hi" > /mnt/so 
# hammer snapq /mnt/
# hammer snapq /mnt/
# hammer snapls /mnt/
Snapshots on /mnt       PFS #0
Transaction ID          Timestamp               Note
0x0000000100008020      2015-12-13 07:12:36 UTC -
0x0000000100008080      2015-12-13 07:12:46 UTC -
0x0000000100008120      2015-12-13 07:12:54 UTC -
0x00000001000081a0      2015-12-13 07:13:11 UTC -
0x0000000100008210      2015-12-13 07:13:41 UTC -
# umount /mnt/

No zeros. I send a new patch, called hammer_flusher.c.patch

Bug #2863: HAMMER synch tid is zero

* Author: shamaz
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
Hello. This appears on DragonFlyBSD 4.2 (and maybe newer) if you try the
following with HAMMER filesystem:

1) Create a new vnode device.
# dd if=/dev/zero of=test.img bs=1m count=15000
# vnconfig -c vn test.img
# disklabel64  -w -r vn4s0 auto
# disklabel64 -e vn4s0
Add a line like "a:      *      0     HAMMER"

2) Create a HAMMER filesystem:
newfs_hammer -f -L TEST /dev/vn4s0a

3) Mount it:
mount /dev/vn4s0a /mnt

4) Try to sync it:
hammer synctid /mnt

You will see zero sync tid (0x0000000000000000). If you try to set some
debug-related sysctls, it will get you no info at all when syncing. Also
hammer pfs-status /mnt will show that sync-end-tid does not increment in
time as it should. I am not sure if it happens with any non-root hammer FS,
or just with those based on vn pseudo disks.

flusher_tid.patch (492 Bytes)
hammer_flusher.c.patch (481 Bytes)

You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account

More information about the Bugs mailing list