mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
xfs: give the deferred barrier op type a name
xfs_barrier_defer_type is the only xfs_defer_op_type with no .name. Every other one carries a short string used for tracing and reporting: attr, bmap, extent_free, agfl_free, rtextent_free, refcount, rtrefcount, rmap, rtrmap and exchmaps. That has been harmless because nothing dereferences the field, but it leaves a NULL in a table where every other entry is populated, so the first caller to print it gets "(null)" in the kernel and undefined behaviour in the userspace libxfs build of this file, where xfs_alert lands in fprintf. xfs_defer_add() already treats a missing member of this table as worth shutting the filesystem down for, so an unpopulated one is out of step with how the file handles its own ops tables. Signed-off-by: Javier Tia <floss@jetm.me> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
6176d21d7b
commit
91c15cee39
|
|
@ -229,6 +229,7 @@ xfs_defer_barrier_cancel_item(
|
|||
}
|
||||
|
||||
static const struct xfs_defer_op_type xfs_barrier_defer_type = {
|
||||
.name = "barrier",
|
||||
.max_items = 1,
|
||||
.create_intent = xfs_defer_barrier_create_intent,
|
||||
.abort_intent = xfs_defer_barrier_abort_intent,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user