OSDN Git Service

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 217e4f8..c805ffa 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;
                }