diff mbox series

jbd2: improve comments about freeing data buffers whose page mapping is NULL

Message ID 20200217112706.20085-1-yi.zhang@huawei.com
State Awaiting Upstream
Headers show
Series jbd2: improve comments about freeing data buffers whose page mapping is NULL | expand

Commit Message

zhangyi (F) Feb. 17, 2020, 11:27 a.m. UTC
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.

Fixes: c96dceeabf76 ("jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer")
Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Suggested-by: Jan Kara <jack@suse.cz>
---
 fs/jbd2/commit.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Jan Kara Feb. 17, 2020, 12:21 p.m. UTC | #1
On Mon 17-02-20 19:27:06, zhangyi (F) wrote:
> 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.
> 
> Fixes: c96dceeabf76 ("jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer")
> Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
> Suggested-by: Jan Kara <jack@suse.cz>

Thanks! You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/jbd2/commit.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
> index 27373f5792a4..e855d8260433 100644
> --- a/fs/jbd2/commit.c
> +++ b/fs/jbd2/commit.c
> @@ -997,9 +997,10 @@ void jbd2_journal_commit_transaction(journal_t *journal)
>  			 * 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)) {
> -- 
> 2.17.2
>
Theodore Y. Ts'o March 6, 2020, 1:14 a.m. UTC | #2
On Mon, Feb 17, 2020 at 07:27:06PM +0800, zhangyi (F) wrote:
> 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.
> 
> Fixes: c96dceeabf76 ("jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer")
> Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
> Suggested-by: Jan Kara <jack@suse.cz>

Thanks, applied.

					- Ted
diff mbox series

Patch

diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 27373f5792a4..e855d8260433 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -997,9 +997,10 @@  void jbd2_journal_commit_transaction(journal_t *journal)
 			 * 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)) {