| From 780f66e59231fcf882f36c63f287252ee47cc75a Mon Sep 17 00:00:00 2001 |
| From: "zhangyi (F)" <yi.zhang@huawei.com> |
| Date: Mon, 17 Feb 2020 19:27:06 +0800 |
| Subject: jbd2: improve comments about freeing data buffers whose page mapping is NULL |
| |
| From: zhangyi (F) <yi.zhang@huawei.com> |
| |
| commit 780f66e59231fcf882f36c63f287252ee47cc75a upstream. |
| |
| Improve comments in jbd2_journal_commit_transaction() to describe why |
| we don't need to clear the buffer_mapped bit for freeing file mapping |
| buffers whose page mapping is NULL. |
| |
| Link: https://lore.kernel.org/r/20200217112706.20085-1-yi.zhang@huawei.com |
| Fixes: c96dceeabf76 ("jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer") |
| Suggested-by: Jan Kara <jack@suse.cz> |
| Reviewed-by: Jan Kara <jack@suse.cz> |
| Signed-off-by: zhangyi (F) <yi.zhang@huawei.com> |
| Signed-off-by: Theodore Ts'o <tytso@mit.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/jbd2/commit.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/fs/jbd2/commit.c |
| +++ b/fs/jbd2/commit.c |
| @@ -995,9 +995,10 @@ restart_loop: |
| * journalled data) we need to unmap buffer and clear |
| * more bits. We also need to be careful about the check |
| * because the data page mapping can get cleared under |
| - * out hands, which alse need not to clear more bits |
| - * because the page and buffers will be freed and can |
| - * never be reused once we are done with them. |
| + * our hands. Note that if mapping == NULL, we don't |
| + * need to make buffer unmapped because the page is |
| + * already detached from the mapping and buffers cannot |
| + * get reused. |
| */ |
| mapping = READ_ONCE(bh->b_page->mapping); |
| if (mapping && !sb_is_blkdev_sb(mapping->host->i_sb)) { |