Discussion
Loading...

#Tag

Log in
  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Stefano Marinelli boosted
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe  ·  activity timestamp 2 days ago

Quote from Hammer2 page

Because HAMMER2 is a block copy-on-write filesystem, the "atime" field is not supported and will typically just reflect local system in-memory caches or mtime.

The radix tree is dynamic in that each entry can dynamically control how many bits it chops off. This allows small files to be contained in just one or two levels regardless of the block seek positions. The depth of the radix tree is increased as needed via a splitting mechanism, and will also be recombined if it grows smaller. All block references are 64-bit aligned-byte-indexed references and thus portable regardless of physical sector size changes between underlying block devices.

Inodes are 1KB of which 512 bytes are used for the top-level radix tree OR 512 bytes of data. Any file less than or equal to 512 bytes stores its data directly in the inode. Files up to 256KB can be accommodated with direct inode block references.

Directory entries are hashed (semi-sorted hash algorithm), and directly embedded in the radix table's blockref structure for maximum performance. Files with very long filenames will contain a dataref, otherwise filenames are embedded in the directory entry itself. Because directory entries are hashed, seeking and lookups are able to use a radix search and no linear scan of the directory is needed.

The inode and directory entry structure is extremely well suited for any file size or directory size, from tiny to huge.

Because of the block-copy-on-write nature of the filesystem, the filesystem is able to create a snapshot trivially simply by copying the volume header's root block table (4 blockref entries). The directory topology actually starts with a SUPERROOT, and volume ROOTs are directory entries under the SUPERROOT. Though the entries are actually special-cased a bit and actually part of the root inode for each filesystem root. And since physical freeing of space is handled via a bulk meta-data scan, destroying a snapshot or volume can be done simply by wiping the inode and ignoring everything under it... the next bulkfree scan will reclaim any reclaimable space. Similarly with file deletions... the top-level data blockrefs can simply be removed. The inode can simply be removed from the radix tree.

Performance is very good. HAMMER2 uses a variable-sized block in powers of two, starting at 1KB, up to 64KB, for the last block of the file (straddling EOF). All earlier blocks in the file, if any, use 64KB blocks. The freemap is organized by domain to cluster various meta-data types together. Indirect blocks can be one of two sizes: 16KB or 64KB, allowing medium-sized files and directories to be optimally allocated. In addition, file data compression of a logical block can result in a smaller physical block. The physical layer always does 64KB I/O and can cluster the I/O on top of that.

https://www.dragonflybsd.org/hammer/

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

DragonFlyBSD: hammer

  • Copy link
  • Flag this post
  • Block
Stefano Marinelli boosted
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe  ·  activity timestamp 2 days ago

The amazing DragonFlyBSD has the fantastic
Hammer2 filesystem:

* Block copy-on-write filesystem
* Instant recovery on mount
* Instant snapshots
* Mounted snapshots are writable
* Automatic snapshotting can be enabled at the system level via periodic scripts
* Default Periodic also does daily bulk pass on the meta-data to free space
* Automatic compression (controllable on directory recursion and per-file basis)
* Automatic de-duplication
* Future master/slave mechanism
* Utilizes a dynamic radix tree
* 64-bit hardlink counter
* 2^63 logical file size limit
* Recursive check codes to detect corruption
* Any number of pseudo-filesystem volumes for each physical hammer2 disk image (also used by snapshots).

https://www.dragonflybsd.org/hammer/

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author

DragonFlyBSD: hammer

  • Copy link
  • Flag this post
  • Block
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe  ·  activity timestamp 2 days ago

Additional Reference Material

HAMMER2 Design v6 (08-Dec-2018)

https://gitweb.dragonflybsd.org/dragonfly.git/blob/57614c517203403e7fe4a34c370c7151ba52c539:/sys/vfs/hammer2/DESIGN

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe replied  ·  activity timestamp 2 days ago

Quote from Hammer2 page

Because HAMMER2 is a block copy-on-write filesystem, the "atime" field is not supported and will typically just reflect local system in-memory caches or mtime.

The radix tree is dynamic in that each entry can dynamically control how many bits it chops off. This allows small files to be contained in just one or two levels regardless of the block seek positions. The depth of the radix tree is increased as needed via a splitting mechanism, and will also be recombined if it grows smaller. All block references are 64-bit aligned-byte-indexed references and thus portable regardless of physical sector size changes between underlying block devices.

Inodes are 1KB of which 512 bytes are used for the top-level radix tree OR 512 bytes of data. Any file less than or equal to 512 bytes stores its data directly in the inode. Files up to 256KB can be accommodated with direct inode block references.

Directory entries are hashed (semi-sorted hash algorithm), and directly embedded in the radix table's blockref structure for maximum performance. Files with very long filenames will contain a dataref, otherwise filenames are embedded in the directory entry itself. Because directory entries are hashed, seeking and lookups are able to use a radix search and no linear scan of the directory is needed.

The inode and directory entry structure is extremely well suited for any file size or directory size, from tiny to huge.

Because of the block-copy-on-write nature of the filesystem, the filesystem is able to create a snapshot trivially simply by copying the volume header's root block table (4 blockref entries). The directory topology actually starts with a SUPERROOT, and volume ROOTs are directory entries under the SUPERROOT. Though the entries are actually special-cased a bit and actually part of the root inode for each filesystem root. And since physical freeing of space is handled via a bulk meta-data scan, destroying a snapshot or volume can be done simply by wiping the inode and ignoring everything under it... the next bulkfree scan will reclaim any reclaimable space. Similarly with file deletions... the top-level data blockrefs can simply be removed. The inode can simply be removed from the radix tree.

Performance is very good. HAMMER2 uses a variable-sized block in powers of two, starting at 1KB, up to 64KB, for the last block of the file (straddling EOF). All earlier blocks in the file, if any, use 64KB blocks. The freemap is organized by domain to cluster various meta-data types together. Indirect blocks can be one of two sizes: 16KB or 64KB, allowing medium-sized files and directories to be optimally allocated. In addition, file data compression of a logical block can result in a smaller physical block. The physical layer always does 64KB I/O and can cluster the I/O on top of that.

https://www.dragonflybsd.org/hammer/

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

DragonFlyBSD: hammer

  • Copy link
  • Flag this comment
  • Block
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe  ·  activity timestamp 2 days ago

The amazing DragonFlyBSD has the fantastic
Hammer2 filesystem:

* Block copy-on-write filesystem
* Instant recovery on mount
* Instant snapshots
* Mounted snapshots are writable
* Automatic snapshotting can be enabled at the system level via periodic scripts
* Default Periodic also does daily bulk pass on the meta-data to free space
* Automatic compression (controllable on directory recursion and per-file basis)
* Automatic de-duplication
* Future master/slave mechanism
* Utilizes a dynamic radix tree
* 64-bit hardlink counter
* 2^63 logical file size limit
* Recursive check codes to detect corruption
* Any number of pseudo-filesystem volumes for each physical hammer2 disk image (also used by snapshots).

https://www.dragonflybsd.org/hammer/

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author

DragonFlyBSD: hammer

Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe replied  ·  activity timestamp 2 days ago

Additional Reference Material

HAMMER2 Design v6 (08-Dec-2018)

https://gitweb.dragonflybsd.org/dragonfly.git/blob/57614c517203403e7fe4a34c370c7151ba52c539:/sys/vfs/hammer2/DESIGN

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author
  • Copy link
  • Flag this comment
  • Block
Dendrobatus Azureus
Dendrobatus Azureus
@Dendrobatus_Azureus@mastodon.bsd.cafe  ·  activity timestamp 2 days ago

The amazing DragonFlyBSD has the fantastic
Hammer2 filesystem:

* Block copy-on-write filesystem
* Instant recovery on mount
* Instant snapshots
* Mounted snapshots are writable
* Automatic snapshotting can be enabled at the system level via periodic scripts
* Default Periodic also does daily bulk pass on the meta-data to free space
* Automatic compression (controllable on directory recursion and per-file basis)
* Automatic de-duplication
* Future master/slave mechanism
* Utilizes a dynamic radix tree
* 64-bit hardlink counter
* 2^63 logical file size limit
* Recursive check codes to detect corruption
* Any number of pseudo-filesystem volumes for each physical hammer2 disk image (also used by snapshots).

https://www.dragonflybsd.org/hammer/

#filesystem #programming #BSD #dragonflyBSD #freeBSD #OpenSource #technology #no #FSK

Sorry, no caption provided by author
Sorry, no caption provided by author
Sorry, no caption provided by author

DragonFlyBSD: hammer

  • Copy link
  • Flag this post
  • Block
Stefano Marinelli
Stefano Marinelli
@stefano@mastodon.bsd.cafe  ·  activity timestamp 5 days ago

My BSDCan submission has been approved!

It will be wonderful to be back in Ottawa, meet again all the "old" (and new) friends from the BSD world and, this time, present something that has saved me more than once... and it’s based on NetBSD!

#BSDCan #BSDCon #NetBSD #FreeBSD #OpenBSD #DragonFlyBSD #RunBSD #BSDCan2026 #Ottawa #Canada #BSD

  • Copy link
  • Flag this post
  • Block
Stefano Marinelli
Stefano Marinelli
@stefano@mastodon.bsd.cafe  ·  activity timestamp last week

This morning I was thinking about something: one of the reasons why every enthusiast should consider going to a BSDCon is simple.

I eat a lot and I still come back slimmer 😄

2024 - EuroBSDCon: ate twice as much as usual, came back from Dublin 1 kg lighter.
2025 - BSDCan: breakfasts that could cover a whole day’s calories, huge delicious meals... came back from Ottawa 0.5 kg lighter.
2025 - EuroBSDCon: double breakfast (sweet + savory), massive lunches, delicious dinners (including a huge pizza, as @outofcreativity, @angie and @mwl can confirm) and still came back 0.5 kg lighter.

Positive emotions burn calories.

So come to BSDCons: you’ll come back happy and slimmer!

#RunBSD #FreeBSD #NetBSD #OpenBSD #DragonFlyBSD #BSDCon #AsiaBSDCon #BSDCan #EuroBSDCon

outofcreativity
outofcreativity
@outofcreativity@exquisite.social replied  ·  activity timestamp last week

@stefano

@angie @mwl

Indeed, I can confirm @stefano ate like a grown-up. blobcatgoogly

#RunBSD #FreeBSD #NetBSD #OpenBSD #DragonFlyBSD #BSDCon #AsiaBSDCon #BSDCan #EuroBSDCon

  • Copy link
  • Flag this comment
  • Block
Stefano Marinelli
Stefano Marinelli
@stefano@mastodon.bsd.cafe  ·  activity timestamp last week

This morning I was thinking about something: one of the reasons why every enthusiast should consider going to a BSDCon is simple.

I eat a lot and I still come back slimmer 😄

2024 - EuroBSDCon: ate twice as much as usual, came back from Dublin 1 kg lighter.
2025 - BSDCan: breakfasts that could cover a whole day’s calories, huge delicious meals... came back from Ottawa 0.5 kg lighter.
2025 - EuroBSDCon: double breakfast (sweet + savory), massive lunches, delicious dinners (including a huge pizza, as @outofcreativity, @angie and @mwl can confirm) and still came back 0.5 kg lighter.

Positive emotions burn calories.

So come to BSDCons: you’ll come back happy and slimmer!

#RunBSD #FreeBSD #NetBSD #OpenBSD #DragonFlyBSD #BSDCon #AsiaBSDCon #BSDCan #EuroBSDCon

  • Copy link
  • Flag this post
  • Block
dch :flantifa: :flan_hacker: boosted
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 3 weeks ago

I have it on good authority that there a number of new names on the @bsdcan CFP list. Here is the link I f you would like to join the list in these remaining hours:

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this post
  • Block
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 3 weeks ago

I have it on good authority that there a number of new names on the @bsdcan CFP list. Here is the link I f you would like to join the list in these remaining hours:

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this post
  • Block
Michael Dexter boosted
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 3 weeks ago

3 days left to get your talk added to North America's biggest *BSD conference @bsdcan ! Join your friends in Canada to discuss the state of the *BSDs. Previous talks have included utilities you can't live without, new ways using familiar tools, and *BSD-powered refrigerators!

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this post
  • Block
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 4 weeks ago

5 days left to get your @bsdcan talk submitted! Join your friends in Canada to discuss the state of the *BSDs. See talks by leaders of our industry, parents of the Internet, and that person you've been seeing on mailing lists for years!:

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
BSDTV
BSDTV
@bsdtv@bsd.network replied  ·  activity timestamp 3 weeks ago

3 days left to get your talk added to North America's biggest *BSD conference @bsdcan ! Join your friends in Canada to discuss the state of the *BSDs. Previous talks have included utilities you can't live without, new ways using familiar tools, and *BSD-powered refrigerators!

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this comment
  • Block
Michael Dexter boosted
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 4 weeks ago

5 days left to get your @bsdcan talk submitted! Join your friends in Canada to discuss the state of the *BSDs. See talks by leaders of our industry, parents of the Internet, and that person you've been seeing on mailing lists for years!:

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this post
  • Block
BSDTV
BSDTV
@bsdtv@bsd.network  ·  activity timestamp 4 weeks ago

5 days left to get your @bsdcan talk submitted! Join your friends in Canada to discuss the state of the *BSDs. See talks by leaders of our industry, parents of the Internet, and that person you've been seeing on mailing lists for years!:

https://www.bsdcan.org/2026/papers.html#main

#runbsd #netbsd #freebsd #openbsd #dragonflybsd #sysadmin

Call for papers — BSDCan

BSDCan is a technical BSD conference held in Ottawa, Ontario, Canada.
  • Copy link
  • Flag this post
  • Block
🫧 socialcoding.. boosted
gyptazy
gyptazy
@gyptazy@gyptazy.com  ·  activity timestamp last month

Running your own Fediverse instance and want to become more visible?

You can simply use relay instances to be interconnected with other instances to exchange posts and it works seamless with #Mastodon, #Pleroma, #snac / #snac2 and many other ones! If you're in tech, you might want to use:

https://fedi-relay.gyptazy.com

You can simply add it to get a bigger reach but also to get more interesting content into your own timeline which becomes even more important on single user- & smaller instances.

#activitypub #mastodon #fediverse #opensource #bsd #runbsd #freebsd #openbsd #netbsd #dragonflybsd #debian #proxmox #xcpng #talos #coding #programming #fediwall #relay #fedirelay #acitivitypubrelay #selfhost #homelab #community

Activity Pub / Fediverse Relay
Activity Pub / Fediverse Relay
Activity Pub / Fediverse Relay
  • Copy link
  • Flag this post
  • Block
gyptazy
gyptazy
@gyptazy@gyptazy.com  ·  activity timestamp last month

Running your own Fediverse instance and want to become more visible?

You can simply use relay instances to be interconnected with other instances to exchange posts and it works seamless with #Mastodon, #Pleroma, #snac / #snac2 and many other ones! If you're in tech, you might want to use:

https://fedi-relay.gyptazy.com

You can simply add it to get a bigger reach but also to get more interesting content into your own timeline which becomes even more important on single user- & smaller instances.

#activitypub #mastodon #fediverse #opensource #bsd #runbsd #freebsd #openbsd #netbsd #dragonflybsd #debian #proxmox #xcpng #talos #coding #programming #fediwall #relay #fedirelay #acitivitypubrelay #selfhost #homelab #community

Activity Pub / Fediverse Relay
Activity Pub / Fediverse Relay
Activity Pub / Fediverse Relay
  • Copy link
  • Flag this post
  • Block
Cat 🐈🥗 (D.Burch) :paw:⁠:paw: boosted
Tomáš
Tomáš
@prahou@merveilles.town  ·  activity timestamp last month

Plus One

Thank you, all the supporters, fans, visitors, critters, observers and machine-folk.

Good luck next year!

#unix_surrealism #technomage #openbsd #dragonflybsd #linux #penguin #9front #comic #grendel #glenda

Girl, Fish and Penguin pose for a photograph.
Girl, Fish and Penguin pose for a photograph.
Girl, Fish and Penguin pose for a photograph.
  • Copy link
  • Flag this post
  • Block
Tomáš
Tomáš
@prahou@merveilles.town  ·  activity timestamp last month

Plus One

Thank you, all the supporters, fans, visitors, critters, observers and machine-folk.

Good luck next year!

#unix_surrealism #technomage #openbsd #dragonflybsd #linux #penguin #9front #comic #grendel #glenda

Girl, Fish and Penguin pose for a photograph.
Girl, Fish and Penguin pose for a photograph.
Girl, Fish and Penguin pose for a photograph.
  • Copy link
  • Flag this post
  • Block
Stefano Marinelli boosted
Hyde 📷 🖋 :debian:
Hyde 📷 🖋 :debian:
@hyde@lazybear.social  ·  activity timestamp 2 months ago

#OverUnder 046 with @stefano

He's a #Unix enthusiast, he hangs out at the #BSD cafe, and write about various systems.
If Unix tips interest you, you should definitely check him out.
Today, he shares his thoughts on #DragonFlyBSD, #AWS, #TuxedoComputers, #zsh, and #Nespresso.

#terminal #shell #opensource #coffee #blog #cloud #Tuxedo #fediverse #mastodon

https://lazybea.rs/ovr-046

  • Copy link
  • Flag this post
  • Block
Hyde 📷 🖋 :debian:
Hyde 📷 🖋 :debian:
@hyde@lazybear.social  ·  activity timestamp 2 months ago

#OverUnder 046 with @stefano

He's a #Unix enthusiast, he hangs out at the #BSD cafe, and write about various systems.
If Unix tips interest you, you should definitely check him out.
Today, he shares his thoughts on #DragonFlyBSD, #AWS, #TuxedoComputers, #zsh, and #Nespresso.

#terminal #shell #opensource #coffee #blog #cloud #Tuxedo #fediverse #mastodon

https://lazybea.rs/ovr-046

  • Copy link
  • Flag this post
  • Block

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.2-alpha.7 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Members
  • Code of Conduct