All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.