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 05:59:03 +0000 (07:59 +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 1d06f81ee8b4706c4a9c75a60f9d8a7435b0ffcc..f65ad50d5f7be4bebf4ee6117f4fadc859520095 100644 (file)
@@ -990,9 +990,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)) {