xfs: improve error message when we can't allocate memory for xfs_buf
authorDarrick J. Wong <darrick.wong@oracle.com>
Fri, 21 Feb 2020 15:40:44 +0000 (07:40 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 3 Mar 2020 04:55:50 +0000 (20:55 -0800)
If xfs_buf_get_map can't allocate enough memory for the buffer it's
trying to create, it'll cough up an error about not being able to
allocate "pagesn".  That's not particularly helpful (and if we're really
out of memory the message is very spammy) so change the message to tell
us how many pages were actually requested, and ratelimit it too.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_buf.c

index 217e4f82a44a2601351c8e46f7503512b9a5cc31..c805ffae8913002cb3d37dae77e69f7b8e22e97b 100644 (file)
@@ -727,8 +727,9 @@ found:
        if (!bp->b_addr) {
                error = _xfs_buf_map_pages(bp, flags);
                if (unlikely(error)) {
-                       xfs_warn(target->bt_mount,
-                               "%s: failed to map pagesn", __func__);
+                       xfs_warn_ratelimited(target->bt_mount,
+                               "%s: failed to map %u pages", __func__,
+                               bp->b_page_count);
                        xfs_buf_relse(bp);
                        return error;
                }