Hi Yunlei,

Could you please post another version to have all the suggestions? :)

Thanks,

On 02/25, Eric Biggers wrote:
> On Fri, Feb 26, 2021 at 09:42:33AM +0800, heyunlei 00015531 wrote:
> > 
> > 在 2021/2/25 7:11, Eric Biggers 写道:
> > > On Wed, Feb 24, 2021 at 03:02:52PM -0800, Eric Biggers wrote:
> > > > Hi Yunlei,
> > > > 
> > > > On Wed, Feb 24, 2021 at 09:16:24PM +0800, Chao Yu wrote:
> > > > > Hi Yunlei,
> > > > > 
> > > > > On 2021/2/23 19:24, heyunlei wrote:
> > > > > > If file enable verity failed, should truncate anything wrote
> > > > > > past i_size, including cache pages.
> > > > > +Cc Eric,
> > > > > 
> > > > > After failure of enabling verity, we will see verity metadata if we 
> > > > > truncate
> > > > > file to larger size later?
> > > > > 
> > > > > Thanks,
> > Hi Eric,
> > > > > > Signed-off-by: heyunlei <[email protected]>
> > > > > > ---
> > > > > >    fs/f2fs/verity.c | 4 +++-
> > > > > >    1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > 
> > > > > > diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c
> > > > > > index 054ec852b5ea..f1f9b9361a71 100644
> > > > > > --- a/fs/f2fs/verity.c
> > > > > > +++ b/fs/f2fs/verity.c
> > > > > > @@ -170,8 +170,10 @@ static int f2fs_end_enable_verity(struct file 
> > > > > > *filp, const void *desc,
> > > > > >     }
> > > > > >     /* If we failed, truncate anything we wrote past i_size. */
> > > > > > -   if (desc == NULL || err)
> > > > > > +   if (desc == NULL || err) {
> > > > > > +           truncate_inode_pages(inode->i_mapping, inode->i_size);
> > > > > >             f2fs_truncate(inode);
> > > > > > +   }
> > > > > >     clear_inode_flag(inode, FI_VERITY_IN_PROGRESS);
> > > > > > 
> > By the way,should  we consider  set xattr failed?
> > 
> 
> Yes, that seems to be another oversight.  Similarly for ext4, if
> ext4_journal_start(), ext4_orphan_del(), or ext4_reserve_inode_write() fails.
> 
> I think the right fix is to move the truncation to the end of the function.
> 
> - Eric


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to