Re: [Patch 05/18] fs/logfs/dir.c

Jörn Engel
2007-08-08T17:45:53Z

On Wed, 8 August 2007 20:34:34 +0300, Artem Bityutskiy wrote:
> On Wed, 2007-08-08 at 19:15 +0200, Jörn Engel wrote:
> > On Wed, 8 August 2007 20:07:34 +0300, Artem Bityutskiy wrote:
> > > On Wed, 2007-08-08 at 18:16 +0200, Jörn Engel wrote:
> > > > +static inline void logfs_inc_count(struct inode *inode)
> > > > +{
> > > > + inode->i_nlink++;
> > > > + mark_inode_dirty_sync(inode);
> > > > +}
> > > > +
> > > > +static inline void logfs_dec_count(struct inode *inode)
> > > > +{
> > > > + inode->i_nlink--;
> > > > + mark_inode_dirty_sync(inode);
> > > > +}
> > > include/linux/fs.h: inode_inc_link_count() inode_dec_link_count() do
> > > this. Although not sure they exist in the old kernel your patches are
> > > against.
> >
> > Almost, they call mark_inode_dirty() instead of mark_inode_dirty_sync().
> > I wonder if that's necessary.
> >
> Ah, right, it is necessary as long as you do not have write-back
> implemented, sure. Pardon :-)

Write-back has nothing to do with this. When calling logfs_inc_count()
the only thing that needs writeback is the inode itself. Marking pages
and buffers dirty as well is pure paranoia or laziness, your pick.

Jörn

--
When I am working on a problem I never think about beauty. I think
only how to solve the problem. But when I have finished, if the
solution is not beautiful, I know it is wrong.
-- R. Buckminster Fuller