kfree(hpfs_inode->i_rddir_off);
hpfs_inode->i_rddir_off = NULL;
}
- mutex_lock(&hpfs_inode->i_parent_mutex);
+ down(&hpfs_inode->i_parent);
if (!i->i_nlink) {
- mutex_unlock(&hpfs_inode->i_parent_mutex);
+ up(&hpfs_inode->i_parent);
return;
}
parent = iget_locked(i->i_sb, hpfs_inode->i_parent_dir);
hpfs_read_inode(parent);
unlock_new_inode(parent);
}
- mutex_lock(&hpfs_inode->i_mutex);
+ down(&hpfs_inode->i_sem);
hpfs_write_inode_nolock(i);
- mutex_unlock(&hpfs_inode->i_mutex);
+ up(&hpfs_inode->i_sem);
iput(parent);
} else {
mark_inode_dirty(i);
}
- mutex_unlock(&hpfs_inode->i_parent_mutex);
+ up(&hpfs_inode->i_parent);
}
void hpfs_write_inode_nolock(struct inode *i)