Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1654770
| From | Chao Yu <yuchao0@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [f2fs-dev] [PATCH] f2fs: remove false-positive bug_on |
| Date | 2017-06-01 05:00 +0200 |
| Message-ID | <tNov8-59b-7@gated-at.bofh.it> (permalink) |
| References | <tLyIm-4Vw-139@gated-at.bofh.it> <tNbRg-5gJ-9@gated-at.bofh.it> <tNnSp-4Wa-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 2017/6/1 10:12, Jaegeuk Kim wrote: > On 05/31, Chao Yu wrote: >> Hi Jaegeuk, >> >> On 2017/5/27 7:59, Jaegeuk Kim wrote: >>> If we got failure from both of create and evict_inode, we can hit this wrong >>> bug_on. >>> >>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> >>> --- >>> fs/f2fs/inode.c | 2 -- >>> 1 file changed, 2 deletions(-) >>> >>> diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c >>> index e53c784ab11e..5673b0bd83b5 100644 >>> --- a/fs/f2fs/inode.c >>> +++ b/fs/f2fs/inode.c >>> @@ -426,8 +426,6 @@ void f2fs_evict_inode(struct inode *inode) >>> alloc_nid_failed(sbi, inode->i_ino); >>> clear_inode_flag(inode, FI_FREE_NID); >>> } >>> - f2fs_bug_on(sbi, err && >>> - !exist_written_data(sbi, inode->i_ino, ORPHAN_INO)); >> >> We expect that we can keep the inode in orphan list in >> handle_failed_inode path when inode page have been persisted, so that if >> there is anything error in evice_inode, we can have another chance to >> release inode resource during next mount. >> >> Here we need to check this case, additionally, if we failed to add the >> inode into orphan list in handle_failed_inode, we must have set >> SBI_NEED_FSCK in cp pack, so we need check the case too. >> >> So we can change the code to: >> >> f2fs_bug_on(err && err != -ENOENT && >> (!exist_written_data(sbi, inode->i_ino, ORPHAN_INO) || >> !is_sbi_flag_set(sbi, SBI_NEED_FSCK)); Oh, looks like it needs to use '&&' in between exist_written_data and is_sbi_flag_set. Could you fix this? Thanks, > > Yup, I'll try this. ;) > > Thanks, > >> >> How do you think? >> >> Thanks, >> >>> out_clear: >>> fscrypt_put_encryption_info(inode, NULL); >>> clear_inode(inode); >>> > > . >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] f2fs: remove false-positive bug_on Jaegeuk Kim <jaegeuk@kernel.org> - 2017-05-27 03:30 +0200
Re: [f2fs-dev] [PATCH] f2fs: remove false-positive bug_on Chao Yu <chao@kernel.org> - 2017-05-31 15:30 +0200
Re: [f2fs-dev] [PATCH] f2fs: remove false-positive bug_on Jaegeuk Kim <jaegeuk@kernel.org> - 2017-06-01 04:20 +0200
Re: [f2fs-dev] [PATCH] f2fs: remove false-positive bug_on Chao Yu <yuchao0@huawei.com> - 2017-06-01 05:00 +0200
Re: [f2fs-dev] [PATCH v2] f2fs: remove false-positive bug_on Jaegeuk Kim <jaegeuk@kernel.org> - 2017-06-02 00:50 +0200
csiph-web