# 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.
