On Tue, Oct 28, 2014 at 9:49 AM, Arne Jansen via illumos-zfs
<[email protected]> wrote:
> Funny enough just a few days ago we've been searching for a way to reserve 
> space
> for individual files, just what posix_fallocate(3C) does. Unfortunately ZFS
> doesn't seem to support this.
> Our use case is to allow our customer to do chunked uploads coming out of 
> order.
> As we don't want sparse files on our platform, posix_fallocate would be a very
> easy way to allow customers to write at arbitrary offsets without creating 
> holes
> in files.
> So, I would be interested in this feature.

I agree that posix_fallocate(3) is a better interface than ioctl.

>> Is the goal to reserve space for individual files, and doing so physically 
>> (as
>> opposed to logically, like filesystem reservations) was the easiest way to
>> implement it?  Did you investigate implementing a logical per-file 
>> reservation?
>> A logical reservation should perform better (both when setting the 
>> reservation,
>> and when writing, since there would be more physical free space).

I don't think physical reservation is necessary to honor the
semantics.  The basic goal is to ensure that writes to the file will
never fail (at least, due to pool/filesystem being out of space) up to
the file size specified.  It's basically a more targeted version of
the filesystem reservation property.

--Will.
_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to