[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD+ocbyP2WzNyEa5Pgpk3ViahuSNUQ2bSB_OEBOze4DdBiHNsw@mail.gmail.com>
Date: Tue, 1 Oct 2019 00:51:19 -0700
From: harshad shirwadkar <harshadshirwadkar@...il.com>
To: Andreas Dilger <adilger@...ger.ca>
Cc: Ext4 Developers List <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH v2 08/12] ext4: track changed files for fast commit
Thanks, done in V3.
On Fri, Aug 9, 2019 at 2:46 PM Andreas Dilger <adilger@...ger.ca> wrote:
>
> On Aug 8, 2019, at 9:45 PM, Harshad Shirwadkar <harshadshirwadkar@...il.com> wrote:
> >
> > For fast commit, we need to remember all the files that have changed
> > since last fast commit / full commit. For changes that are fast commit
> > incompatible, we mark the file system fast commit incompatible. This
> > patch adds code to either remember files that have changed or to mark
> > ext4 as fast commit ineligible. We inspect every ext4_mark_inode_dirty
> > calls and decide whether that particular file change is fast
> > compatible or not.
> >
> > Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@...il.com>
>
> Some minor code style cleanups.
>
> > @@ -759,6 +761,8 @@ int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
> >
> > ext4_write_unlock_xattr(inode, &no_expand);
> > brelse(iloc.bh);
> > + ext4_fc_enqueue_inode(ext4_journal_current_handle(),
> > + inode);
>
> (style) "inode" doesn't need to be split to a separate line
>
> > mark_inode_dirty(inode);
> > out:
> > return copied;
> > @@ -974,6 +978,8 @@ int ext4_da_write_inline_data_end(struct inode *inode, loff_t pos,
> > * ordering of page lock and transaction start for journaling
> > * filesystems.
> > */
> > + ext4_fc_enqueue_inode(ext4_journal_current_handle(),
> > + inode);
>
> (style) "inode" doesn't need to be split to a separate line
>
> > @@ -5697,6 +5719,8 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
> >
> > if (!error) {
> > setattr_copy(inode, attr);
> > + ext4_fc_enqueue_inode(ext4_journal_current_handle(),
> > + inode);
>
> (style) "inode" doesn't need to be split to a separate line
>
> > diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> > index 0b833e9b61c1..c7bb52bdaf6e 100644
> > --- a/fs/ext4/super.c
> > +++ b/fs/ext4/super.c
> > @@ -1129,6 +1129,16 @@ static void ext4_destroy_inode(struct inode *inode)
> > true);
> > dump_stack();
> > }
> > + if (!list_empty(&(EXT4_I(inode)->i_fc_list))) {
> > +#ifdef EXT4FS_DEBUG
> > + if (EXT4_SB(inode->i_sb)->s_fc_eligible) {
> > + pr_warn("%s: INODE %ld in FC List with FC allowd",
> > + __func__, inode->i_ino);
>
> (style) this should use ext4fs_debug(), since pr_warn() is not really
> used in the ext4 code
>
> > + dump_stack();
> > + }
> > +#endif
> > + ext4_fc_del(inode);
> > + }
> > }
>
>
> Cheers, Andreas
>
>
>
>
>
Powered by blists - more mailing lists