--- - branch: MAIN date: Mon Mar 28 12:37:01 UTC 2022 files: - new: '1.203' old: '1.202' path: src/sys/miscfs/specfs/spec_vnops.c pathrev: src/sys/miscfs/specfs/spec_vnops.c@1.203 type: modified id: 20220328T123701Z.63f6db7f36029d2e4a6830f567264499ea5b204a log: | specfs: Take an I/O reference in spec_node_setmountedfs. This is not quite correct. We _should_ require the caller to hold a vnode lock around spec_node_getmountedfs, and an exclusive vnode lock around spec_node_setmountedfs, so that it is only necessary to check whether revoke has already happened, not hold an I/O reference. Unfortunately, various callers in various file systems don't follow this sensible rule. So let's at least make sure the vnode can't be revoked in spec_node_setmountedfs, while we're in bdev_ioctl, and leave a comment explaining what the sorry state of affairs is and how to fix it later. module: src subject: 'CVS commit: src/sys/miscfs/specfs' unixtime: '1648471021' user: riastradh