![]() | ||||||||||
Messages in this thread Patch in this message |
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> wrote:
>
> Andrew Morton <akpm@osdl.org> writes:
>
> >> /**
> >> + * sync_inode_wodata - sync(write and wait) inode to disk, without it's data.
> >> + * @inode: the inode to sync
> >> + *
> >> + * sync_inode_wodata() will write an inode then wait. It will also
> >> + * correctly update the inode on its superblock's dirty inode lists
> >> + * and will update inode->i_state.
> >> + *
> >> + * The caller must have a ref on the inode.
> >> + */
> >> +int sync_inode_wodata(struct inode *inode)
> >> +{
> >> + struct writeback_control wbc = {
> >> + .sync_mode = WB_SYNC_ALL, /* wait */
> >> + .nr_to_write = 0,/* no data to be written */
> >> + };
> >> + return sync_inode(inode, &wbc);
> >> +}
> >> +
> >
> > I think this function duplicates write_inode_now()?
>
> write_inode_now() seems to write data pages, but this doesn't write
> (.nr_to_write = 0).
hm, OK.
However there's not much point in writing a brand-new function when
write_inode_now() almost does the right thing. We can share the
implementation within fs-writeback.c.
<looks>
Isn't write_inode_now() buggy? If !mapping_cap_writeback_dirty() we
should still write the inode itself?
diff -puN fs/fs-writeback.c~write_inode_now-write-inode-if-not-bdi_cap_no_writeback fs/fs-writeback.c
--- devel/fs/fs-writeback.c~write_inode_now-write-inode-if-not-bdi_cap_no_writeback 2005-10-11 21:13:25.000000000 -0700
+++ devel-akpm/fs/fs-writeback.c 2005-10-11 21:13:40.000000000 -0700
@@ -558,7 +558,7 @@ int write_inode_now(struct inode *inode,
};
if (!mapping_cap_writeback_dirty(inode->i_mapping))
- return 0;
+ wbc.nr_to_write = 0;
might_sleep();
spin_lock(&inode_lock);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| |||||||||
| Last update: 2005-10-12 02:20 [W:0.275 / U:0.230 seconds] ©2003-2008 Jasper Spaans | ||||||||||