Hi Andrew & Andrea, Here is the updated patch with name change again :( Hopefully this would be final. (MADV_REMOVE). BTW, I am not sure if we need to hold i_sem and i_allocsem all the way ? I wanted to be safe - but this may be overkill ? + /* XXX - Do we need both i_sem and i_allocsem all the way ? */ + down(&inode->i_sem); + down_write(&inode->i_alloc_sem); + unmap_mapping_range(mapping, offset, (end - offset), 1); + truncate_inode_pages_range(mapping, offset, end); + inode->i_op->truncate_range(inode, offset, end); + up_write(&inode->i_alloc_sem); + up(&inode->i_sem); Thanks, Badari