diff options
Diffstat (limited to 'fs/buffer.c')
| -rw-r--r-- | fs/buffer.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index a3ef091a45bd..28f320fac4d4 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
| @@ -1165,8 +1165,11 @@ void mark_buffer_dirty(struct buffer_head *bh) | |||
| 1165 | 1165 | ||
| 1166 | if (!test_set_buffer_dirty(bh)) { | 1166 | if (!test_set_buffer_dirty(bh)) { |
| 1167 | struct page *page = bh->b_page; | 1167 | struct page *page = bh->b_page; |
| 1168 | if (!TestSetPageDirty(page)) | 1168 | if (!TestSetPageDirty(page)) { |
| 1169 | __set_page_dirty(page, page_mapping(page), 0); | 1169 | struct address_space *mapping = page_mapping(page); |
| 1170 | if (mapping) | ||
| 1171 | __set_page_dirty(page, mapping, 0); | ||
| 1172 | } | ||
| 1170 | } | 1173 | } |
| 1171 | } | 1174 | } |
| 1172 | 1175 | ||
