jbd2: improve comments about freeing data buffers whose page mapping is NULL
authorzhangyi (F) <yi.zhang@huawei.com>
Mon, 17 Feb 2020 11:27:06 +0000 (19:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Apr 2020 06:00:54 +0000 (08:00 +0200)
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

index 1a4bd8d9636e8a213f52b6ae384743d1ecc1e70c..6870103a0f59cfdcc6f649ba910fe1767e89f42c 100644 (file)
@@ -994,9 +994,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)) {