Dan Langille

dvl@FreeBSD.org

I've been contributing to open source since 1998.

Dan Langilledvl@bsd.network
2025-12-11

I want structured output from `pkg repositories` (e.g. JSON, XML, something).

The goal: parse the data via my code.

Here's what we're dealing with:

[22:44 r730-01 dvl ~] % pkg repositories local
local: {
url : "fedex.int.unixathome.org/packa",
enabled : yes,
priority : 0,
signature_type : "PUBKEY",
pubkey : "/etc/ssl/slocum.unixathome.org.cert"
}

Before I go coding which might break with each update, is there an existing method?

Thanks.

#FreeBSD #pkg

Dan Langilledvl@bsd.network
2025-12-11

"One or more devices are configured to use a non-native block size."

Follow along, correct my math.

dan.langille.org/2025/12/11/co

#FreeBSD #ZFS

Dan Langille boosted:
Sohrab Behdani :freebsd:sohrab@bsd.cafe
2025-12-11

Today i gave a speech about #FreeBSD 15 in our local LUG (yes i know i should not do that since it is a LUG) but they approved it.

I had uploaded the video in #tubedu but it is in Persian (farsi) . i hope the subtitles for it get ready soon.

tubedu.org/w/89BHDTEXDoAT6BQUG

Dan Langilledvl@bsd.network
2025-12-11

@grimalkina

I knew a guy who advised colleges on what students to bring in. One of the criteria was ability / likelihood to graduate. At the time, I was thinking: that's pretty clever. The goal being to build a body of alumni from which endowments would grow. Something I'd never given any thought to...

Reading this thread: I wasn't allowed into CS based on my high school records - they were too low. What got me in: my first year results in arts, taking all the same courses as the CS students.

Attrition let me in, based on my grades.

It seems like I'm making this post about me, but I hope it's an anecdotal example which supports what you're saying.

I graduated Bachelor of Computer Science (High Honours) in 1985.

Dan Langilledvl@bsd.network
2025-12-11

@EF

I'm sure it will be fine. I agree.

However, I'd like to do it, mostly because I find the solution interesting.

@feld

Except for mine?

Dan Langilledvl@bsd.network
2025-12-11

@EF @feld

It seems the only solution is to move the data off those devices, destroy the zpool, recreated it, and copy the data back on.

This is a non-critical remote host.

I have disk space here. It's only 311GB.

It might take days, but I can zfs copy | recv that onto my server in the basement.

Dan Langille boosted:
2025-12-11

#osxp Paris, day two. FreeBSD rocks!
We are trying to onboard new commiters.

Dan Langille boosted:
2025-12-11

Today in #FreeSoftwareAdvent it's ZFS. It gives me

• all in one volume management (no volume-groups and logical volumes and manually resizing partitions on those logical volumes with a dozen different commands, no playing the "oof, need more space on partition A and have too much free space on partition B, back up all the files, nuke both, shuffle partition-sizes/locations, restore the files" dance)

• transparent file compression

• transparent volume encryption

• fast and effectively free snapshots and clones (you start paying the cost if they diverge or deleting files that remain in a snapshot, but that's to be expected)

• same-disk redundancy with copies=2 to help prevent against bitrot, and multi-disk redundancy with effectively zero effort

• the CoW means no need for fsck(8) horribly slowing my boots or finding orphaned fragments of files and shunting them into a lost+found/ directory (my biggest frustration with OpenBSD's FFS2) in the event of an abrupt power loss

• efficient send/receive (beats rsync hands down in terms of speed)

• fine-grained quota/reservation control

• utilities make scripting easy with output-formatting options

• cross-OS support in a way that very few other filesystems provide (other than FAT 😆)

I'm sure there are additional reasons that didn't percolate to the top of my brain, but it's just so much more pleasant than any other disk management I've done on any OS.

Dan Langilledvl@bsd.network
2025-12-11

This just into my hands.

Dan Langilledvl@bsd.network
2025-12-11

@feld @EF

Yet, I'm still not sure of the cause of the "One or more devices are configured to use a non-native block size" message.

Dan Langilledvl@bsd.network
2025-12-10

@feld @EF

If ashift on the individual devices is the cause...

remove drive from zpool, wipe drive, gpart again, etc. add back into zpool

Looking back, here is where that zpool was created

From below, the partitions were create via:

gpart add -t freebsd-zfs -a 4K -s 1953520000 -l S59VNJ0N631973D_S01 da3

dan.langille.org/2020/10/11/cr

And this demonstrates the zpool is the one created above:

[19:11 r720-02 dvl ~] % zfs get creation data01
NAME PROPERTY VALUE SOURCE
data01 creation Sun Oct 11 13:33 2020 -

Dan Langilledvl@bsd.network
2025-12-10

@feld @EF

each freebsd-zfs partition has ashift=9

[19:04 r720-02 dvl ~] % sudo zdb -l /dev/gpt/S59VNS0N809087J_S00 | grep ashift
ashift: 9
[19:04 r720-02 dvl ~] % sudo zdb -l /dev/gpt/S59VNJ0N631973D_S01 | grep ashift
ashift: 9
[19:05 r720-02 dvl ~] % sudo zdb -l /dev/gpt/S5B3NDFN807383E_S02 | grep ashift
ashift: 9
[19:05 r720-02 dvl ~] % sudo zdb -l /dev/gpt/S5B3NDFN807386P_S03 | grep ashift
ashift: 9
[19:05 r720-02 dvl ~] %

Dan Langilledvl@bsd.network
2025-12-10

@feld @EF and if I'm not using GELI?

FYI, found this:

[18:39 r720-02 dvl ~] % zpool get ashift data01
NAME PROPERTY VALUE SOURCE
data01 ashift 0 default

Dan Langilledvl@bsd.network
2025-12-10

@EF remark? or remake?

I do not know what a "properly configured pool" looks like, in this context.

Here is one of the drives:

[18:29 r720-02 dvl ~] % sudo diskinfo -v da0
da0
512 # sectorsize
1000204886016 # mediasize in bytes (932G)
1953525168 # mediasize in sectors
4096 # stripesize
0 # stripeoffset
121601 # Cylinders according to firmware.
255 # Heads according to firmware.
63 # Sectors according to firmware.
ATA Samsung SSD 860 # Disk descr.
S59VNS0N809087J # Disk ident.
mps0 # Attachment
Yes # TRIM/UNMAP support
0 # Rotation rate in RPM

Dan Langilledvl@bsd.network
2025-12-10

I recall seeing this before on this host, but I'd forgotten about it:

[16:49 r720-02 dvl ~] % zpool status data01
pool: data01
state: ONLINE
status: One or more devices are configured to use a non-native block size.
Expect reduced performance.
action: Replace affected devices with devices that support the
configured block size, or migrate data to a properly configured
pool.
scan: scrub repaired 0B in 00:15:40 with 0 errors on Mon Dec 8 04:05:38 2025
config:

NAME STATE READ WRITE CKSUM
data01 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/S59VNS0N809087J_S00 ONLINE 0 0 0 block size: 512B configured, 4096B native
gpt/S59VNJ0N631973D_S01 ONLINE 0 0 0 block size: 512B configured, 4096B native
mirror-1 ONLINE 0 0 0
gpt/S5B3NDFN807383E_S02 ONLINE 0 0 0 block size: 512B configured, 4096B native
gpt/S5B3NDFN807386P_S03 ONLINE 0 0 0 block size: 512B configured, 4096B native

errors: No known data errors

#FreeBSD #ZFS

Dan Langilledvl@bsd.network
2025-12-09

Why? It can't both be there and not there?

===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%APACHEETCDIR%%/Includes/%%AP_NAME%%.conf.sample
Error: Orphaned: %%ETCDIR%%/env.sample
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%APACHEETCDIR%%/Includes/%%AP_NAME%%.conf.sample
Error: Missing: %%ETCDIR%%/env.sample
===> Error: Plist issues found.
*** Error code 1

Dan Langille boosted:
2025-12-09

Apple will not let me join the Developer Program – and will not say why blog.kulman.sk/apple-developer #iosdev

Dan Langille boosted:
Andrea Junker :verified:Strandjunker@mstdn.social
2025-12-08

If you love freedom but don’t care if it applies to everyone, what you actually love is privilege.

Dan Langilledvl@bsd.network
2025-12-08

I've said this before. Good software is software you forget you're running.
Today, a #ZFS zpool is up to 87% capacity. What?
Oh yes, my full backups ran yesterday (first Sunday of the month).
This issue is partly why I'm moving-to-bigger zpools, perhaps done this week.

#Bacula

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst