Displaying 7 results from an estimated 7 matches for "wait_for_stable_page".
2023 Jun 19
9
[PATCH v2 0/5] clean up block_commit_write
Changelog:
v1--v2:
1. Re-order patches to avoid breaking compilation.
Bean Huo (5):
fs/buffer: clean up block_commit_write
ext4: No need to check return value of block_commit_write()
fs/ocfs2: No need to check return value of block_commit_write()
udf: No need to check return value of block_commit_write()
fs/buffer.c: convert block_commit_write to return void
fs/buffer.c
2023 Jun 19
1
[PATCH v1 2/5] fs/buffer.c: convert block_commit_write to return void
...ret = __block_write_begin(page, 0, end, get_block);
> - if (!ret)
> - ret = block_commit_write(page, 0, end);
> -
> - if (unlikely(ret < 0))
> + if (unlikely(ret))
> goto out_unlock;
> +
> + block_commit_write(page, 0, end);
> +
> set_page_dirty(page);
> wait_for_stable_page(page);
> return 0;
> diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
> index 1520793c72da..873653d2f1aa 100644
> --- a/include/linux/buffer_head.h
> +++ b/include/linux/buffer_head.h
> @@ -284,7 +284,7 @@ int cont_write_begin(struct file *, struct address_...
2023 Jun 19
0
[PATCH v1 5/5] udf: No need to check return value of block_commit_write()
...> - err = block_commit_write(page, 0, end);
> - if (err < 0) {
> + if (err) {
> unlock_page(page);
> ret = block_page_mkwrite_return(err);
> goto out_unlock;
> }
> +
> + block_commit_write(page, 0, end);
> out_dirty:
> set_page_dirty(page);
> wait_for_stable_page(page);
> --
> 2.34.1
>
--
Jan Kara <jack at suse.com>
SUSE Labs, CR
2023 Jun 18
11
[PATCH v1 0/5] clean up block_commit_write
*** BLURB HERE ***
Bean Huo (5):
fs/buffer: clean up block_commit_write
fs/buffer.c: convert block_commit_write to return void
ext4: No need to check return value of block_commit_write()
fs/ocfs2: No need to check return value of block_commit_write()
udf: No need to check return value of block_commit_write()
fs/buffer.c | 24 +++++++-----------------
2023 Jul 02
0
+ fs-convert-block_commit_write-to-return-void.patch added to mm-unstable branch
..._block_write_begin(page, 0, end, udf_get_block);
- if (!err)
- err = block_commit_write(page, 0, end);
- if (err < 0) {
+ if (err) {
unlock_page(page);
ret = block_page_mkwrite_return(err);
goto out_unlock;
}
+
+ block_commit_write(page, 0, end);
out_dirty:
set_page_dirty(page);
wait_for_stable_page(page);
--- a/include/linux/buffer_head.h~fs-convert-block_commit_write-to-return-void
+++ a/include/linux/buffer_head.h
@@ -288,7 +288,7 @@ int cont_write_begin(struct file *, stru
unsigned, struct page **, void **,
get_block_t *, loff_t *);
int generic_cont_expand_simple(struct inode *ino...
2013 Apr 06
1
[PATCH 3/4] fsfreeze: manage kill signal when sb_start_pagefault is called
...!= inode->i_mapping) {
@@ -1727,6 +1729,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
* progress, we are guaranteed that writeback during freezing will
* see the dirty page and writeprotect it again.
*/
+ ret = VM_FAULT_LOCKED;
set_page_dirty(page);
wait_for_stable_page(page);
out:
--
1.7.3.4
2012 Nov 01
15
[RFC PATCH v2 0/3] mm/fs: Implement faster stable page writes on filesystems
...void the use of ext3.ko + DIF/DIX.
Hopefully it doesn''t take long to sort out.
Another thing I noticed is that there are several filesystems that call
wait_on_page_writeback before returning VM_FAULT_LOCKED in their page_mkwrite
delegates. It might be possible to convert some of these to
wait_for_stable_pages unless there''s some other reason that we always want to
wait for writeback.
Finally, if a filesystem wants the VM to help it provide stable pages, it''s now
possible to use the *_require_stable_pages() functions to turn that on. It
might be useful for checksumming data blocks du...