Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [f2fs-dev] [PATCH] f2fs: prevent compressed file from being disabled after releasing cblocks | From | Chao Yu <> | Date | Sun, 30 Aug 2020 11:23:49 +0800 |
| |
On 2020-8-28 13:46, Daeho Jeong wrote: > From: Daeho Jeong <daehojeong@google.com> > > After releasing cblocks, the compressed file can be accidentally > disabled in compression mode, since it has zero cblocks. As we are > using IMMUTABLE flag to present released cblocks state, we can add > IMMUTABLE state check when considering the compressed file disabling. > > Signed-off-by: Daeho Jeong <daehojeong@google.com> > --- > fs/f2fs/f2fs.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 02811ce15059..14d30740ba03 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -3936,6 +3936,8 @@ static inline u64 f2fs_disable_compressed_file(struct inode *inode) > if (!f2fs_compressed_file(inode)) > return 0; > if (S_ISREG(inode->i_mode)) { > + if (IS_IMMUTABLE(inode)) > + return 1;
It looks most of callers are from ioctl, should we add immutable check in f2fs ioctl interfaces if necessary? or I missed existed check.
Thanks,
> if (get_dirty_pages(inode)) > return 1; > if (fi->i_compr_blocks) >
| ![\](/images/icornerr.gif) |