Page MenuHomeFreeBSD

Recent Activity

Today

imp accepted D46154: buf_ring: Use atomic operations with br_prod_tail.
Sat, Jul 27, 4:11 AM
imp accepted D46155: buf_ring: Ensure correct ordering of loads.
Sat, Jul 27, 4:10 AM
imp accepted D46156: tests: Add buf_ring overflow checks.
Sat, Jul 27, 4:09 AM
imp accepted D46157: buf_ring: Add an Arm copyright.
Sat, Jul 27, 4:08 AM
peter.lei_ieee.org accepted D46140: tcp: make sysctl variables ack_war_timewindow and ack_war_cnt vnet specific.
Sat, Jul 27, 3:08 AM
jbeich committed R11:9b8b60e8b431: www/luakit: switch to USES=luajit to avoid package conflicts (authored by mew14930xvi <mew14930xvi@inbox.lv>).
www/luakit: switch to USES=luajit to avoid package conflicts
Sat, Jul 27, 2:01 AM
jbeich committed R11:3f547f88def3: www/luakit: switch to USES=luajit to avoid package conflicts (authored by mew14930xvi <mew14930xvi@inbox.lv>).
www/luakit: switch to USES=luajit to avoid package conflicts
Sat, Jul 27, 2:00 AM
mckusick added a comment to D45987: tmpfs: Account for whiteouts during rename/rmdir.

I do not remember why the change to allow the removing of directories with whiteouts became allowed. The changes in commit 996c772f581f56248 are quite extensive. If you can let me know which file(s) in that commit have the relevant changes, I can go back through the changes made in those files for the Lite/2 release to see if any explanation shows up.

Sure, I'm referring to:

--- a/sys/ufs/ufs/ufs_lookup.c
+++ b/sys/ufs/ufs/ufs_lookup.c
@@ -906,7 +961,7 @@ ufs_dirempty(ip, parentino, cred)
                if (dp->d_reclen == 0)
                        return (0);
                /* skip empty entries */
-               if (dp->d_ino == 0)
+               if (dp->d_ino == 0 || dp->d_ino == WINO)
                        continue;
                /* accept only "." and ".." */
 #              if (BYTE_ORDER == LITTLE_ENDIAN)

part of function ufs_dirempty(), which is (now, but if I'm not mistaken also was then) called only by ufs_rename() and ufs_rmdir().

Barring other reasons I can't see now, I think we'd better revert that behavior, both for logical reasons (the directory references no file but still has whiteout entries that we are going to lose silently) and practical ones (e.g., on Linux, whiteouts are implemented as device files, and thus rmdir() on directories holding some will fail with ENOTEMPTY; this is also to ease consistency in ZFS' code).

Sat, Jul 27, 1:54 AM
imp added a comment to D42246: gpart: More nuance for GPT support.

I'm unsure about this

Sat, Jul 27, 1:14 AM
alc accepted D46117: vm: Remove kernel stack swapping support, part 6.
Sat, Jul 27, 12:17 AM

Yesterday

imp committed rG56ecc8a93221: pci_user: Rename _old to _freebsd6 (authored by imp).
pci_user: Rename _old to _freebsd6
Fri, Jul 26, 11:27 PM
imp closed D45867: pci_user: Rename _old to _freebsd6.
Fri, Jul 26, 11:26 PM
imp added a comment to D42246: gpart: More nuance for GPT support.

I'm unsure about this

Fri, Jul 26, 11:26 PM
jah added a comment to D45987: tmpfs: Account for whiteouts during rename/rmdir.
In D45987#1052043, @jah wrote:

Yes, discarding the whiteout data does strike me as odd, I've already mentioned that.

Sure, but explaining the why is important, else there's no discussion possible. I don't think anyone an architecture for unionfs where all behaviors are "unsurprising" to users at first exists. What I am seeking, though, is to have consistent, understandable, and most of the time unsurprising behaviors, at least in connection to security, data loss, etc.

But whiteouts themselves are quite odd: as you mentioned they're not directory metadata. They might be thought of as file metadata for files contained within the lower directory, but they are file metadata whose purpose is to allow the user and other parts of the system to pretend those files don't exist. Given that, a directory whose upper FS component contains only whiteouts that completely negate the contents of its lower FS component is meant to be seen as logically empty by the user.

That's some common thinking for these but I'm in clear disagreement with it. It conflates what is visible through the union view and how the latter is concretely built out of the (upper and lower) layers. Once one recognizes them as conceptually separate, there is really no reason to see a directory holding whiteouts as empty, even if these whiteouts are meant to "delete" some lower layer's files *in the union view*. Even more, considering such directories empty, in the context of the upper layer on its own, is basically discarding the existence of these whiteouts in a context where the operator should be in a position to tweak the pieces that finally make the union view at will, and thus should be presented with all of them. For people not using UFS at all for unions, or using it only as a layer backing store that they never tweak directly, the chosen behavior doesn't matter at all, since they will never have to deal with whiteouts.

Fri, Jul 26, 10:52 PM
dim committed rGc76260f306a7: Vendor import of llvm-project branch release/19.x llvmorg-19.1.0-rc1-0… (authored by dim).
Vendor import of llvm-project branch release/19.x llvmorg-19.1.0-rc1-0…
Fri, Jul 26, 10:13 PM
dim committed rGac9a064cb179: Vendor import of llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, (authored by dim).
Vendor import of llvm-project main llvmorg-19-init-18630-gf2ccf80136a0,
Fri, Jul 26, 10:07 PM
kib added inline comments to D46152: buf_ring: Use atomic operations with br_cons_tail.
Fri, Jul 26, 9:18 PM
kib accepted D46153: buf_ring: Remove old arm-only dequeue code.
Fri, Jul 26, 9:13 PM
otis committed R11:fe2724ba200f: net-mgmt/zabbux7-frontend: Fix pkg-plist and thus build (authored by otis).
net-mgmt/zabbux7-frontend: Fix pkg-plist and thus build
Fri, Jul 26, 9:01 PM
otis committed R11:bf89507b66cd: net-mgmt/zabbix7-frontend: Fix pkg-plist and thus build (authored by otis).
net-mgmt/zabbix7-frontend: Fix pkg-plist and thus build
Fri, Jul 26, 9:01 PM
otis committed R11:236371d59a74: net-mgmt/zabbix7-server: Update to 7.0.1 (authored by otis).
net-mgmt/zabbix7-server: Update to 7.0.1
Fri, Jul 26, 9:01 PM
vvd committed R11:a345c2f858e0: devel/ghidra: update 9.1 → 11.1.2, take maintainership (authored by gatekeeper <tiago.gasiba@gmail.com>).
devel/ghidra: update 9.1 → 11.1.2, take maintainership
Fri, Jul 26, 8:44 PM
vvd committed R11:e2b8d2a61766: devel/ghidra: update 9.1 → 11.1.2, take maintainership (authored by gatekeeper <tiago.gasiba@gmail.com>).
devel/ghidra: update 9.1 → 11.1.2, take maintainership
Fri, Jul 26, 8:41 PM
tz committed R11:d5047050fed5: databases/pgvector: Update from 0.7.2 to 0.7.3 (authored by tz).
databases/pgvector: Update from 0.7.2 to 0.7.3
Fri, Jul 26, 8:39 PM
tz committed R11:0d6d385a0223: databases/pgvector: Update from 0.7.2 to 0.7.3 (authored by tz).
databases/pgvector: Update from 0.7.2 to 0.7.3
Fri, Jul 26, 8:38 PM
olce added a comment to D45987: tmpfs: Account for whiteouts during rename/rmdir.
In D45987#1052043, @jah wrote:

Yes, discarding the whiteout data does strike me as odd, I've already mentioned that.

Fri, Jul 26, 8:32 PM
imp updated the summary of D46144: freebsd: Use compiler.h from FreeBSD's base's linuxkpi.
Fri, Jul 26, 8:31 PM
imp updated the diff for D46144: freebsd: Use compiler.h from FreeBSD's base's linuxkpi.

Nothing except zfs_fallthrough is needed.

Fri, Jul 26, 8:30 PM
imp abandoned D46145: linuxkpi: Small tweaks to _ONCE macros.

It does undo the ACCESS_ONCE part of it, but doesn't undo the proper uintptr_t casting part. Oh, but I see the const cast is there for READ...
I can omit that bit too. OpenZFS really just reads READ_ONCE and WRITE_ONCE anyway. It
suffers from defining this stuff in too many different places :(.

Fri, Jul 26, 8:10 PM
otis committed R11:b04d5a5ceba0: net-mgmt/zabbux7-frontend: Fix pkg-plist and thus build (authored by otis).
net-mgmt/zabbux7-frontend: Fix pkg-plist and thus build
Fri, Jul 26, 8:01 PM
kib added a comment to D46151: buf_ring: Keep the full head and tail values.
In D46151#1052139, @kib wrote:

Am I right that this revision does not fix the issue, but covers it with more bits from the unused space in the head index? It is still possible that head wraps around, just less likely now that full 2^32 iterations needs to occur under it?

It's still possible, just very unlikely. Even if the value wrapped it would need to be the correct value for the cmpset to succeed.

Fri, Jul 26, 8:00 PM
imp added a comment to D45852: Stop checking for failures from malloc(M_WAITOK).

I'd prefer a bunch of small, self-contained commits. I'd tag them all with this one review. Phabricator isn't ideal with that, but it's the best we have.
That way, we can MFC them piecemeal if need be, and people trying to 'merge all FOO driver changes' or whatever will see the right thing.
If you're worried, push a branch to github and I can take a look.

Fri, Jul 26, 7:57 PM
eduardo committed R11:da809c503413: deskutils/treesheets: Update to 20240629 snapshot (authored by eduardo).
deskutils/treesheets: Update to 20240629 snapshot
Fri, Jul 26, 7:36 PM
andrew added a comment to D46151: buf_ring: Keep the full head and tail values.
In D46151#1052139, @kib wrote:

Am I right that this revision does not fix the issue, but covers it with more bits from the unused space in the head index? It is still possible that head wraps around, just less likely now that full 2^32 iterations needs to occur under it?

Fri, Jul 26, 7:16 PM
andrew added a comment to D46149: buf_ring: Support DEBUG_BUFRING in userspace.

The mtx code appears to be a check that the correct mutex is being held by the kernel so only one thread can access the single-consumer functions at a time. In userspace the tests I wrote don't use a mutex as only one consumer thread is created when testing these functions.

Fri, Jul 26, 7:04 PM
yuri committed R11:3e082177d741: databases/py-apache-arrow: update 15.0.2 → 17.0.0 (authored by yuri).
databases/py-apache-arrow: update 15.0.2 → 17.0.0
Fri, Jul 26, 6:47 PM
kib added a comment to D46151: buf_ring: Keep the full head and tail values.

Am I right that this revision does not fix the issue, but covers it with more bits from the unused space in the head index? It is still possible that head wraps around, just less likely now that full 2^32 iterations needs to occur under it?

Fri, Jul 26, 6:41 PM
kib accepted D46150: buf_ring: Consistently use atomic_*_32.
Fri, Jul 26, 6:35 PM
kib accepted D46149: buf_ring: Support DEBUG_BUFRING in userspace.

If this is useful in kernel, why hen why not use mutex from either normal libpthread or mtx from libstdthread? (The later seems to not have mtx_owned analog)

Fri, Jul 26, 6:31 PM
dev_submerge.ch accepted D46166: sound: Add OSS channel capabilities to sndstat nvlist.
Fri, Jul 26, 6:27 PM