Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
goto out;
}
saved_vm_ops = vma->vm_ops;
- err = do_munmap(current->mm, vma->vm_start,
- vma->vm_end - vma->vm_start);
+ up_write(¤t->mm->mmap_sem); /* VFS already holds sema... */
+ err = vm_munmap(vma->vm_start, vma->vm_end - vma->vm_start);
+ down_write(¤t->mm->mmap_sem);
if (err) {
printk(KERN_ERR "unionfs: do_munmap failed %d\n", err);
goto out;
struct unionfs_dir_state *rdstate;
truncate_inode_pages(&inode->i_data, 0);
- end_writeback(inode);
+ clear_inode(inode);
list_for_each_safe(pos, n, &UNIONFS_I(inode)->readdircache) {
rdstate = list_entry(pos, struct unionfs_dir_state, cache);