lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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