From: David Chinner <dgc@sgi.com>
To: Bhagi rathi <jahnu77@gmail.com>
Cc: David Chinner <dgc@sgi.com>, xfs@oss.sgi.com
Subject: Re: TAKE 972756 - Implement fallocate.
Date: Wed, 7 Nov 2007 07:41:00 +1100 [thread overview]
Message-ID: <20071106204100.GW995458@sgi.com> (raw)
In-Reply-To: <cc7060690711060927n1ea8a489n9f02029a11b73b00@mail.gmail.com>
On Tue, Nov 06, 2007 at 10:57:03PM +0530, Bhagi rathi wrote:
> File is of size 1k. A 4k block is allocated as file-system block size is
> 4k.
> Preallocation happened from 1k to 256k. Now, it looks to me that we have
> un-written extents from 4k to 256k. There is no guarantee that data from 1k
> to 4k is all zero'es. Fallocate is updating size. Hence on subsequent read,
> we can get garbage from 1k to 4k and all zero'es from 4k to 256k
# rm /mnt/test/fred
# xfs_io -f -c "pwrite 0 1024" -c "fsync" -c "falloc_allocsp 0 262144" -c "bmap -vp" /mnt/test/fred
wrote 1024/1024 bytes at offset 0
1 KiB, 1 ops; 0.0000 sec (42.459 MiB/sec and 43478.2609 ops/sec)
/mnt/test/fred:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL FLAGS
0: [0..7]: 14520..14527 0 (14520..14527) 8 00000
1: [8..511]: 345688..346191 0 (345688..346191) 504 10000
# dd if=/mnt/test/fred bs=4k count=1 |od -Ax
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.004566 seconds, 897 kB/s
000000 146715 146715 146715 146715 146715 146715 146715 146715
*
000400 000000 000000 000000 000000 000000 000000 000000 000000
*
001000
Only 1k of modified data, then 3k of zeros, then a bunch of unwritten extents
out to EOF.
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-11-06 20:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-02 2:43 TAKE 972756 - Implement fallocate David Chinner
2007-11-05 18:42 ` Bhagi rathi
2007-11-06 0:12 ` David Chinner
2007-11-06 17:27 ` Bhagi rathi
2007-11-06 19:04 ` Eric Sandeen
2007-11-06 20:41 ` David Chinner [this message]
2007-11-06 22:38 ` Nathan Scott
2007-11-07 5:42 ` Bhagi rathi
2007-11-07 9:35 ` nscott
2007-12-10 17:50 ` Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071106204100.GW995458@sgi.com \
--to=dgc@sgi.com \
--cc=jahnu77@gmail.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox