Skip to content

Commit

Permalink
nilfs2: remove buffer locking in nilfs_mark_inode_dirty
Browse files Browse the repository at this point in the history
This lock is eliminable because inodes on the buffer can be updated
independently.  Although a log writer also fills in bmap data on the
on-disk inodes, this update is exclusively done by a log writer lock.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
  • Loading branch information
Ryusuke Konishi committed Nov 20, 2009
1 parent e2073e7 commit a49762f
Showing 1 changed file with 0 additions and 3 deletions.
3 changes: 0 additions & 3 deletions fs/nilfs2/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,6 @@ void nilfs_update_inode(struct inode *inode, struct buffer_head *ibh)

raw_inode = nilfs_ifile_map_inode(sbi->s_ifile, ino, ibh);

/* The buffer is guarded with lock_buffer() by the caller */
if (test_and_clear_bit(NILFS_I_NEW, &ii->i_state))
memset(raw_inode, 0, NILFS_MDT(sbi->s_ifile)->mi_entry_size);
set_bit(NILFS_I_INODE_DIRTY, &ii->i_state);
Expand Down Expand Up @@ -745,9 +744,7 @@ int nilfs_mark_inode_dirty(struct inode *inode)
"failed to reget inode block.\n");
return err;
}
lock_buffer(ibh);
nilfs_update_inode(inode, ibh);
unlock_buffer(ibh);
nilfs_mdt_mark_buffer_dirty(ibh);
nilfs_mdt_mark_dirty(sbi->s_ifile);
brelse(ibh);
Expand Down

0 comments on commit a49762f

Please sign in to comment.