bcachefs: Start gc, copygc, rebalance threads after initing writes ref
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 24 Nov 2023 05:55:59 +0000 (00:55 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Fri, 24 Nov 2023 07:30:32 +0000 (02:30 -0500)
commit468035ca4b83fd49be99a67b5aac3960d577c7c5
treea3da16a4a78a86488fce0998a8ac342ab1037972
parent202a7c292ec65d5a602aa356f4fa4f50ff84cdee
bcachefs: Start gc, copygc, rebalance threads after initing writes ref

This fixes a bug where copygc would occasionally race with going
read-write and die, thinking we were read only, because it couldn't take
a ref on c->writes.

It's not necessary for copygc (or rebalance, or copygc) to take write
refs; they could run with BCH_TRANS_COMMIT_nocheck_rw, but this is an
easier fix that making sure that flag is passed correctly everywhere.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/super.c