btrfs: print error if primary super block write fails
authorHoward McLauchlan <hmclauchlan@fb.com>
Fri, 2 Feb 2018 19:09:01 +0000 (11:09 -0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Mar 2018 13:09:29 +0000 (15:09 +0200)
commitb6a535faed06c2bdfaf55b00025dfdcb1eadf980
treedab689f8d38fb490352bd0dbe60a4cd5c94f58b2
parent062d4d1f4085c3135fc159fb7eac96c31b4f47f9
btrfs: print error if primary super block write fails

Presently, failing a primary super block write but succeeding in at
least one super block write in general will appear to users as if
nothing important went wrong. However, upon unmounting and re-mounting,
the file system will be in a rolled back state. This was discovered
with a BCC program that uses bpf_override_return() to fail super block
writes.

This patch outputs an error clarifying that the primary super block
write has failed, so users can expect potentially erroneous behaviour.
It also forces wait_dev_supers() to return an error to its caller if
the primary super block write fails.

Signed-off-by: Howard McLauchlan <hmclauchlan@fb.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c