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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.