[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150401075301.GB26339@quack.suse.cz>
Date: Wed, 1 Apr 2015 09:53:01 +0200
From: Jan Kara <jack@...e.cz>
To: Taesoo Kim <tsgatesv@...il.com>
Cc: jack@...e.cz, linux-kernel@...r.kernel.org, taesoo@...ech.edu,
changwoo@...ech.edu, sanidhya@...ech.edu, blee@...ech.edu,
csong84@...ech.edu
Subject: Re: [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@...il.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@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists