Page MenuHomeFreeBSD

ddb: do not assume that ffs is mounted with softdep
ClosedPublic

Authored by vangyzen on Aug 20 2021, 7:05 PM.

Details

Summary

Avoid a panic when debugging with "show ffs" in ddb.

MFC after: 1 week
Sponsored by: Dell EMC Isilon

Test Plan

BEFORE

db> show ffs
mp 0xfffffe00ca03c040 (/root/junk2) devvp 0xfffff80008ef6380
KDB: reentering
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00c8e44290
kdb_reenter() at kdb_reenter+0x2c/frame 0xfffffe00c8e442a0
trap() at trap+0x90/frame 0xfffffe00c8e443b0
calltrap() at calltrap+0x8/frame 0xfffffe00c8e443b0
--- trap 0xc, rip = 0xffffffff80f3bb50, rsp = 0xfffffe00c8e44480, rbp = 0xfffffe00c8e44490 ---
db_print_ffs() at db_print_ffs+0x30/frame 0xfffffe00c8e44490
db_show_ffs() at db_show_ffs+0x5c/frame 0xfffffe00c8e444b0
db_command() at db_command+0x352/frame 0xfffffe00c8e44580
db_command_loop() at db_command_loop+0x4d/frame 0xfffffe00c8e44590
db_trap() at db_trap+0xe6/frame 0xfffffe00c8e44620
kdb_trap() at kdb_trap+0x147/frame 0xfffffe00c8e44690
trap() at trap+0x803/frame 0xfffffe00c8e447a0
calltrap() at calltrap+0x8/frame 0xfffffe00c8e447a0
--- trap 0x3, rip = 0xffffffff80c6d795, rsp = 0xfffffe00c8e44870, rbp = 0xfffffe00c8e44890 ---
kdb_sysctl_enter() at kdb_sysctl_enter+0x95/frame 0xfffffe00c8e44890
sysctl_root_handler_locked() at sysctl_root_handler_locked+0x9c/frame 0xfffffe00c8e448e0
sysctl_root() at sysctl_root+0x20d/frame 0xfffffe00c8e44960
userland_sysctl() at userland_sysctl+0x187/frame 0xfffffe00c8e44a10
sys___sysctl() at sys___sysctl+0x5c/frame 0xfffffe00c8e44ac0
amd64_syscall() at amd64_syscall+0x12e/frame 0xfffffe00c8e44bf0
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe00c8e44bf0
--- syscall (202, FreeBSD ELF64, sys___sysctl), rip = 0x8011a7e5a, rsp = 0x7fffffffc8b8, rbp = 0x7fffffffc8f0 ---

AFTER

db> show ffs
mp 0xfffffe00c4f04b00 (/root/junk2) devvp 0xfffff8001f7cc540
    fs 0xfffffe00c4c82000 su disabled

db> show ffs
mp 0xfffffe00c4d50ac0 (/root/junk2) devvp 0xfffff8001fb49380
    fs 0xfffffe00c5f4d000 su_wl 0 su_deps 0 su_req 0

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.