# Pre11 Batch B: Vnode Operation Scaffolding ## Scope This batch is a behavior-preserving cleanup limited to vnode operation scaffolding: - removed the unused `EROFS_MOUNT_XATTR_USER` option bit; - removed the zero-consumer `erofs_node.vnode` field and its only assignment; - grouped VOP forward declarations and `erofs_vnodeops` initializers by responsibility. No function definitions, VOP registrations, lock or reclaim behavior, `vnode_create_vobject()` error handling, or FIFO operations were changed. ## Consumer Audit Before the edit, `EROFS_MOUNT_XATTR_USER` appeared only at its definition. The `erofs_node.vnode` member appeared only in the structure definition and in the single assignment performed by `erofs_vget()`; it had no read, address, ABI, initializer, or offset consumer. After the edit, both removed symbols have zero source-tree matches. ## VOP Vector Equivalence Before reordering: - `erofs_vnodeops`: 24 raw entries, 24 unique normalized `field=value` entries; - `erofs_fifoops`: 14 raw entries, 14 unique normalized `field=value` entries. After reordering: - `erofs_vnodeops`: 24 raw entries, 24 unique entries, with the sorted normalized set identical to the before snapshot; - `erofs_fifoops`: 14 raw entries, 14 unique entries, with both the sorted set and original entry sequence identical to the before snapshot. ## Validation The batch uses static checks only: - normalized before/after VOP vector set comparison; - raw entry count versus unique entry count; - removed-symbol zero-consumer search; - changed-path whitelist; - `git diff --check` and conflict-marker scan. No build, QEMU smoke test, or feature test was run for this mechanical batch.