[Top] [All Lists]

Re: [PATCH 4/6] Ext4: fail if we try to use hole punch

To: "Ted Ts'o" <tytso@xxxxxxx>, Avi Kivity <avi@xxxxxxxxxx>, Josef Bacik <josef@xxxxxxxxxx>, david@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, cmm@xxxxxxxxxx, cluster-devel@xxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx
Subject: Re: [PATCH 4/6] Ext4: fail if we try to use hole punch
From: Josef Bacik <josef@xxxxxxxxxx>
Date: Wed, 17 Nov 2010 01:31:26 -0500
In-reply-to: <20101117030640.GD3290@xxxxxxxxx>
References: <1289840723-3056-1-git-send-email-josef@xxxxxxxxxx> <1289840723-3056-5-git-send-email-josef@xxxxxxxxxx> <4CE2783F.1020004@xxxxxxxxxx> <20101116125016.GA31957@xxxxxxxxxxxxxxxxxxxxxxxxxx> <4CE28211.6060204@xxxxxxxxxx> <20101117030640.GD3290@xxxxxxxxx>
User-agent: Mutt/1.5.19 (2009-01-05)
On Tue, Nov 16, 2010 at 10:06:40PM -0500, Ted Ts'o wrote:
> > >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.

Yeah thats alot of extra code just for one part of fallocate.  Calling into
->fallocate is perfectly reasonable, especially since ext4 works the way it
does, I'm going to leave things as they are.  Thanks,


<Prev in Thread] Current Thread [Next in Thread>