Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fb7a61e authored by Ryusuke Konishi's avatar Ryusuke Konishi Committed by Linus Torvalds
Browse files

nilfs2: do not use async write flag for segment summary buffers



The async write flag is introduced to nilfs2 in the commit 7f42ec39
("nilfs2: fix issue with race condition of competition between segments
for dirty blocks"), but the flag only makes sense for data buffers and
btree node buffers.  It is not needed for segment summary buffers.

This gets rid of the latter uses as part of refactoring of atomic bit
operations on buffer state bitmap.

Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Cc: Vyacheslav Dubeyko <slava@dubeyko.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent f8ccad21
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -1588,7 +1588,6 @@ static void nilfs_segctor_prepare_write(struct nilfs_sc_info *sci)


		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
				    b_assoc_buffers) {
				    b_assoc_buffers) {
			set_buffer_async_write(bh);
			if (bh->b_page != bd_page) {
			if (bh->b_page != bd_page) {
				if (bd_page) {
				if (bd_page) {
					lock_page(bd_page);
					lock_page(bd_page);
@@ -1688,7 +1687,6 @@ static void nilfs_abort_logs(struct list_head *logs, int err)
	list_for_each_entry(segbuf, logs, sb_list) {
	list_for_each_entry(segbuf, logs, sb_list) {
		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
		list_for_each_entry(bh, &segbuf->sb_segsum_buffers,
				    b_assoc_buffers) {
				    b_assoc_buffers) {
			clear_buffer_async_write(bh);
			if (bh->b_page != bd_page) {
			if (bh->b_page != bd_page) {
				if (bd_page)
				if (bd_page)
					end_page_writeback(bd_page);
					end_page_writeback(bd_page);
@@ -1768,7 +1766,6 @@ static void nilfs_segctor_complete_write(struct nilfs_sc_info *sci)
				    b_assoc_buffers) {
				    b_assoc_buffers) {
			set_buffer_uptodate(bh);
			set_buffer_uptodate(bh);
			clear_buffer_dirty(bh);
			clear_buffer_dirty(bh);
			clear_buffer_async_write(bh);
			if (bh->b_page != bd_page) {
			if (bh->b_page != bd_page) {
				if (bd_page)
				if (bd_page)
					end_page_writeback(bd_page);
					end_page_writeback(bd_page);