Hi All, Based on comments from Hugh & Andrea, I took a shot at implementing madvise(MADV_TRUNCATE) - which truncates range of pages in the file. (basically provides ability to punche a hole in to the file). Basically, I added "truncate_range" inode operation to provide opportunity for the filesystem to zero the blocks and/or free them up. I also attempted to implement shmem_truncate_range() which needs lots of testing before I work out bugs :( I would really appreciate your comments on my approach. Thanks, Badari