diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-07-20 14:56:40 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-07-20 14:56:40 +0000 |
commit | e308faf24f68e262d92d294a01ddca7a17e76762 (patch) | |
tree | 22c47cb315811834861f013067878ff664e95abd /fs/sysv/truncate.c | |
parent | 30c6397ce63178fcb3e7963ac247f0a03132aca9 (diff) |
Sync with Linux 2.1.46.
Diffstat (limited to 'fs/sysv/truncate.c')
-rw-r--r-- | fs/sysv/truncate.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/sysv/truncate.c b/fs/sysv/truncate.c index 0eeb10d30..433c39cae 100644 --- a/fs/sysv/truncate.c +++ b/fs/sysv/truncate.c @@ -64,7 +64,7 @@ repeat: continue; } *p = 0; - inode->i_dirt = 1; + mark_inode_dirty(inode); brelse(bh); sysv_free_block(sb,block); } @@ -257,12 +257,14 @@ done: static int trunc_all(struct inode * inode) { struct super_block * sb; + char * res; sb = inode->i_sb; + res = (char *)test_bit(I_DIRTY,&inode->i_state); return trunc_direct(inode) - | trunc_indirect(inode,sb->sv_ind0_size,&inode->u.sysv_i.i_data[10],0,&inode->i_dirt) - | trunc_dindirect(inode,sb->sv_ind1_size,&inode->u.sysv_i.i_data[11],0,&inode->i_dirt) - | trunc_tindirect(inode,sb->sv_ind2_size,&inode->u.sysv_i.i_data[12],0,&inode->i_dirt); + | trunc_indirect(inode,sb->sv_ind0_size,&inode->u.sysv_i.i_data[10],0,res) + | trunc_dindirect(inode,sb->sv_ind1_size,&inode->u.sysv_i.i_data[11],0,res) + | trunc_tindirect(inode,sb->sv_ind2_size,&inode->u.sysv_i.i_data[12],0,res); } @@ -285,5 +287,5 @@ void sysv_truncate(struct inode * inode) schedule(); } inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); } |