Linux Storage and Filesystem Workshop, day 2
Posted Apr 18, 2009 22:10 UTC (Sat) by giraffedata
In reply to: Linux Storage and Filesystem Workshop, day 2
Parent article: Linux Storage and Filesystem Workshop, day 2
That's no more interesting than the simpler problem that when you go to extend a sequential file, the write request fails even though the filesystem has space available.
This was in the context of an application having used the posix_fallocate() call. If that call succeeds, the application is guaranteed to be able to use the storage that has been so allocated. Thin Provisioning breaks this, and it's far from clear how to fix it.
No, posix_fallocate() doesn't guarantee you can use the storage. Your write to it could fail, for example, due to a media defect. What posix_fallocate() guarantees is that a write won't fail because there is no space left in the filesystem. That's the same guarantee you get from mkfs that if you create a 1G filesystem, you can put (about) 1G of files in it. So it's equally interesting that with thin provisioning, your fallocated space within a file may be unusable as that your filesystem space may be unusable for extending the file.
With thin provisioning, the filesystem storage medium is a volume in the storage server, which does in fact have space for the write in question. What doesn't have space is the server's pool of backing storage, and the effect of that is a write to certain sectors of the volume fails.
to post comments)