> >There is no simple way to test if a filesystem supports hole punching or not
> >so
> >the check has to be done per fs. Thanks,
>
> Could put a flag word in superblock_operations. Filesystems which
> support punching (or other features) can enable it there.
No, it couldn't be in super_operations. It may vary on a per-inode
basis for some file systems, such as ext4 (depending on whether the
inode is extent-mapped or indirect-block mapped).
So at least for ext4 we'd need to call into fallocate() function
anyway, once we add support. I suppose if other file systems really
want it, we could add a flag to the super block ops structure, so they
don't have do the "do we support the punch" operation. I can go
either way on that; although if we think the majority of file systems
are going support punch in the long-term, then it might not be worth
it to add such a flag.
- Ted
|