Skip to content

Commit

Permalink
xfs: make the assertion message functions take a mount parameter
Browse files Browse the repository at this point in the history
Make the assfail and asswarn functions take a struct xfs_mount so that
we can start tying debugging and corruption messages to a particular
mount.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
  • Loading branch information
Darrick J. Wong committed Nov 5, 2019
1 parent 110f09c commit 9842b56
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
6 changes: 3 additions & 3 deletions fs/xfs/xfs_linux.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,18 +223,18 @@ int xfs_rw_bdev(struct block_device *bdev, sector_t sector, unsigned int count,
char *data, unsigned int op);

#define ASSERT_ALWAYS(expr) \
(likely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
(likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__))

#ifdef DEBUG
#define ASSERT(expr) \
(likely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
(likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__))

#else /* !DEBUG */

#ifdef XFS_WARN

#define ASSERT(expr) \
(likely(expr) ? (void)0 : asswarn(#expr, __FILE__, __LINE__))
(likely(expr) ? (void)0 : asswarn(NULL, #expr, __FILE__, __LINE__))

#else /* !DEBUG && !XFS_WARN */

Expand Down
16 changes: 12 additions & 4 deletions fs/xfs/xfs_message.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,17 +86,25 @@ xfs_alert_tag(
}

void
asswarn(char *expr, char *file, int line)
asswarn(
struct xfs_mount *mp,
char *expr,
char *file,
int line)
{
xfs_warn(NULL, "Assertion failed: %s, file: %s, line: %d",
xfs_warn(mp, "Assertion failed: %s, file: %s, line: %d",
expr, file, line);
WARN_ON(1);
}

void
assfail(char *expr, char *file, int line)
assfail(
struct xfs_mount *mp,
char *expr,
char *file,
int line)
{
xfs_emerg(NULL, "Assertion failed: %s, file: %s, line: %d",
xfs_emerg(mp, "Assertion failed: %s, file: %s, line: %d",
expr, file, line);
if (xfs_globals.bug_on_assert)
BUG();
Expand Down
4 changes: 2 additions & 2 deletions fs/xfs/xfs_message.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ do { \
#define xfs_debug_ratelimited(dev, fmt, ...) \
xfs_printk_ratelimited(xfs_debug, dev, fmt, ##__VA_ARGS__)

extern void assfail(char *expr, char *f, int l);
extern void asswarn(char *expr, char *f, int l);
void assfail(struct xfs_mount *mp, char *expr, char *f, int l);
void asswarn(struct xfs_mount *mp, char *expr, char *f, int l);

extern void xfs_hex_dump(const void *p, int length);

Expand Down

0 comments on commit 9842b56

Please sign in to comment.