]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: separate definition of assertion failure handlers
authorDavid Sterba <dsterba@suse.com>
Mon, 16 Dec 2019 19:00:48 +0000 (20:00 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 23 Jan 2020 16:24:23 +0000 (17:24 +0100)
commitdc8c09e37cecfc1db6f95c21e7df86618de987d1
treece33b25c4e834298db626559eb3ed86053f48733
parent6598c89893f00cef7b4684bdb2b7b8f9321f4f61
btrfs: separate definition of assertion failure handlers

There's a report where objtool detects unreachable instructions, eg.:

  fs/btrfs/ctree.o: warning: objtool: btrfs_search_slot()+0x2d4: unreachable instruction

This seems to be a false positive due to compiler version. The cause is
in the ASSERT macro implementation that does the conditional check as
IS_DEFINED(CONFIG_BTRFS_ASSERT) and not an #ifdef.

To avoid that, use the ifdefs directly.

There are still 2 reports that aren't fixed:

  fs/btrfs/extent_io.o: warning: objtool: __set_extent_bit()+0x71f: unreachable instruction
  fs/btrfs/relocation.o: warning: objtool: find_data_references()+0x4e0: unreachable instruction

Co-developed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h