lkml.org 
[lkml]   [2015]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/1] udf: block-based fs should use generic_write_end()
On Thu 19-03-15 23:37:59, Taesoo Kim wrote:
> simple_write_end() is for non-block fs, which doesn't invoke
> mark_inode_dirty(). Instead, generic_write_end() correctly
> handles such case when i_size has changed.
>
> Signed-off-by: Taesoo Kim <tsgatesv@gmail.com>
So simple_write_end() is actually correct in that place. We cannot even
use generic_write_end() because that page doesn't have buffers attached -
it's a special case of a file which is smaller than a block and is packed
in the inode. Please test the patch better next time - this would oops on
you the first time you try to write to such a file. Thanks!

Honza

> ---
> fs/udf/file.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/udf/file.c b/fs/udf/file.c
> index 08f3555..28b1dab 100644
> --- a/fs/udf/file.c
> +++ b/fs/udf/file.c
> @@ -112,7 +112,7 @@ const struct address_space_operations udf_adinicb_aops = {
> .readpage = udf_adinicb_readpage,
> .writepage = udf_adinicb_writepage,
> .write_begin = udf_adinicb_write_begin,
> - .write_end = simple_write_end,
> + .write_end = generic_write_end,
> .direct_IO = udf_adinicb_direct_IO,
> };
>
> --
> 2.3.3
>
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR


\
 
 \ /
  Last update: 2015-04-01 10:21    [W:0.047 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site