|
@@ -422,7 +422,7 @@ static void inode_write_block(struct logfs_block *block)
|
|
if (inode->i_ino == LOGFS_INO_MASTER)
|
|
if (inode->i_ino == LOGFS_INO_MASTER)
|
|
logfs_write_anchor(inode->i_sb);
|
|
logfs_write_anchor(inode->i_sb);
|
|
else {
|
|
else {
|
|
- ret = __logfs_write_inode(inode, 0);
|
|
|
|
|
|
+ ret = __logfs_write_inode(inode, NULL, 0);
|
|
/* see indirect_write_block comment */
|
|
/* see indirect_write_block comment */
|
|
BUG_ON(ret);
|
|
BUG_ON(ret);
|
|
}
|
|
}
|
|
@@ -1629,7 +1629,7 @@ int logfs_rewrite_block(struct inode *inode, u64 bix, u64 ofs,
|
|
if (inode->i_ino == LOGFS_INO_MASTER)
|
|
if (inode->i_ino == LOGFS_INO_MASTER)
|
|
logfs_write_anchor(inode->i_sb);
|
|
logfs_write_anchor(inode->i_sb);
|
|
else {
|
|
else {
|
|
- err = __logfs_write_inode(inode, flags);
|
|
|
|
|
|
+ err = __logfs_write_inode(inode, page, flags);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1879,7 +1879,7 @@ int logfs_truncate(struct inode *inode, u64 target)
|
|
logfs_get_wblocks(sb, NULL, 1);
|
|
logfs_get_wblocks(sb, NULL, 1);
|
|
err = __logfs_truncate(inode, size);
|
|
err = __logfs_truncate(inode, size);
|
|
if (!err)
|
|
if (!err)
|
|
- err = __logfs_write_inode(inode, 0);
|
|
|
|
|
|
+ err = __logfs_write_inode(inode, NULL, 0);
|
|
logfs_put_wblocks(sb, NULL, 1);
|
|
logfs_put_wblocks(sb, NULL, 1);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2119,14 +2119,14 @@ void logfs_set_segment_unreserved(struct super_block *sb, u32 segno, u32 ec)
|
|
ec_level);
|
|
ec_level);
|
|
}
|
|
}
|
|
|
|
|
|
-int __logfs_write_inode(struct inode *inode, long flags)
|
|
|
|
|
|
+int __logfs_write_inode(struct inode *inode, struct page *page, long flags)
|
|
{
|
|
{
|
|
struct super_block *sb = inode->i_sb;
|
|
struct super_block *sb = inode->i_sb;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- logfs_get_wblocks(sb, NULL, flags & WF_LOCK);
|
|
|
|
|
|
+ logfs_get_wblocks(sb, page, flags & WF_LOCK);
|
|
ret = do_write_inode(inode);
|
|
ret = do_write_inode(inode);
|
|
- logfs_put_wblocks(sb, NULL, flags & WF_LOCK);
|
|
|
|
|
|
+ logfs_put_wblocks(sb, page, flags & WF_LOCK);
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|