[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6131: [PATCH]: fiemap support for efficient sparse file copy
From: |
Paul Eggert |
Subject: |
bug#6131: [PATCH]: fiemap support for efficient sparse file copy |
Date: |
Thu, 10 Jun 2010 16:47:23 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100423 Thunderbird/3.0.4 |
On 06/09/2010 11:56 PM, jeff.liu wrote:
> Yeah, I just realized that the behaviour I observed is caused by the delay
> allocation mechanism of
> the particular FS.
If the file system is using delayed allocation, then can
the fiemap ioctl tell us that a file contains a hole (because nothing has been
allocated there), but read() would tell us that the file contains nonzero data
at the same location
(because it's sitting in a buffer somewhere)? If so, we'd need to do something
like invoke
fdatasync() on the file before issuing the fiemap ioctl, to force allocation;
or perhaps
there's another ioctl that will do the allocation without having to actually do
a sync.
There's also the issue of copying from a file at the same time that some other
process
is writing to it, but that is allowed to produce ill-defined behavior. I'm
more worried
about the case where some other process writes to the source file just before
'cp' starts.
(Sorry, I haven't had time yet to dive into the proposed change; I'm still
trying to understand
the environment.)
One other thing: Solaris 10 supports lseek with the SEEK_HOLE and SEEK_DATA
options, which
are easier to use and which (as far as I can tell from the manual) shouldn't
require anything
fdatasync-ish. Any objection if I propose support for that too? It is
supposed to work
with ZFS, something I can test here.
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Jim Meyering, 2010/06/02
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Jim Meyering, 2010/06/08
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Eric Blake, 2010/06/08
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Jim Meyering, 2010/06/08
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, jeff.liu, 2010/06/09
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Jim Meyering, 2010/06/09
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, jeff.liu, 2010/06/10
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy,
Paul Eggert <=
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Tao Ma, 2010/06/10
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Paul Eggert, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Tao Ma, 2010/06/16
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, jeff.liu, 2010/06/16
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Paul Eggert, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Jim Meyering, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Paul Eggert, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Sunil Mushran, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Joel Becker, 2010/06/15
- bug#6131: [PATCH]: fiemap support for efficient sparse file copy, Pádraig Brady, 2010/06/15