I am not sure this is a good change for 2.6.21.
I strongly believe it is better to change XFS so that it doesn't use
create_freezeable_workqueue() as Rafael suggested. Besides, freezeable
workqueues are buggy anyway in 2.6.21-rc,
http://marc.theaimsgroup.com/?l=linux-kernel&m=116855740612755
This means that workqueues become non-freezeable after suspend/resume
anyway (if I understand disable_nonboot_cpus() correctly).
Oleg.
-