Skip to content

dbd: clear AFPVOL_NOV2TOEACONV flag to allow AD to xattr conversion#3152

Merged
andylemin merged 1 commit into
mainfrom
3150-dbd--c-broken-unless-convert-appledouble-yes-is-set
Jul 7, 2026
Merged

dbd: clear AFPVOL_NOV2TOEACONV flag to allow AD to xattr conversion#3152
andylemin merged 1 commit into
mainfrom
3150-dbd--c-broken-unless-convert-appledouble-yes-is-set

Conversation

@rdmark

@rdmark rdmark commented Jul 6, 2026

Copy link
Copy Markdown
Member

when afp.conf is set to 'convert appledouble = no' we enable the AFPVOL_NOV2TOEACONV flag, however the dbd tool should always be allowed to convert AD to xattr so clear the flag when running dbd

when afp.conf is set to 'convert appledouble = no' we enable the
AFPVOL_NOV2TOEACONV flag, however the dbd tool should always be
allowed to convert AD to xattr so clear the flag when running dbd
@rdmark rdmark requested a review from andylemin as a code owner July 6, 2026 05:16
@rdmark rdmark linked an issue Jul 6, 2026 that may be closed by this pull request
@augmentcode

augmentcode Bot commented Jul 6, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: dbd now clears AFPVOL_NOV2TOEACONV when v2→EA conversion (DBD_FLAGS_V2TOEA) is requested.
Why: This allows AppleDouble-to-xattr migration to run even if afp.conf has convert appledouble = no.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

📊 Performance Dashboard

Commit: e0b39f76200a8bd0d8ea6989fd611b81cf47b7fe

🔥 Spectest (AFP 3.4) - FlameGraph

Netatalk Code-time: 2.0% · Runtime: 68s · Stacks: 1148

🔥 Click the preview to open the interactive flamegraph (zoom + search).

Flamegraph preview

🔝 Top 10 leaf functions
Function Samples
_raw_spin_unlock_irqrestore 297684450
do_syscall_64 148842225
find_get_block_common 63947030
__cp_end 61741960
srso_alias_safe_ret 55126750
x64_sys_call 44101400
afpd 39691260
xas_load 36383655
memcmp 36383655
ext4_xattr_cmp 31973515

📈 Speedtest (AFP 3.4) - PerfGraph

Speedtest throughput

🔝 Peak throughput per operation
Operation Peak mean (MB/s)
Read 6430
Write 1436
Copy 2354
ServerCopy 3288

⏱️ Lantest (AFP 3.4) - LatencyGraph

Lantest latency

Avg total runtime: 5068 ms · Avg time per AFP op: 0.098 ms

🐢 All operations (avg runtime, in test order)
Test Avg (ms)
Writing one large file 40
Reading one large file 15
Creating 2000 files 808
Writing 1024 bytes to 2000 files 429
Lock then unlock 2000 open forks 178
Stat, open, read 512 bytes, close 2000 files 937
Enumerate dir with 2000 files 6
Deleting 2000 files 736
Byte-range lock/unlock 2000 ranges in one fork 178
Create directory tree with 1000 dirs 429
Directory cache hits (20 dirs x 100 files) 109
Mixed cache operations (create/stat/enum/delete) on 1000 files 768
Deep path traversal (20 levels x 100 walks) 119
Cache validation (2000 files x 3 lookups) 316

@andylemin

andylemin commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@rdmark this had quite a performance hit having it always check, so forcing on always for dbd is may be a performance regression.

I think we need to restrict this to just the dbd tooling rather than the whole dbd backend?

@rdmark

rdmark commented Jul 7, 2026

Copy link
Copy Markdown
Member Author

@andylemin this has nothing to do with the CNID backend of the same name: the code modified here is only ever executed by the dbd command

@andylemin andylemin merged commit 49f11ac into main Jul 7, 2026
58 checks passed
@rdmark rdmark deleted the 3150-dbd--c-broken-unless-convert-appledouble-yes-is-set branch July 7, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dbd -c broken unless "convert appledouble = yes" is set

2 participants