All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Mingming <cmm@us.ibm.com>
Cc: ext4 development <linux-ext4@vger.kernel.org>,
	Curt Wohlgemuth <curtw@google.com>
Subject: Re: [PATCH 1/4 v2] Direct IO return value fix for holes/fallocate
Date: Tue, 3 Nov 2009 21:09:15 -0500	[thread overview]
Message-ID: <20091104020915.GF6510@mit.edu> (raw)
In-Reply-To: <1255050796.4931.190.camel@mingming-laptop>

On Thu, Oct 08, 2009 at 06:13:16PM -0700, Mingming wrote:
> ext4: Direct IO return value fix for holes/fallocate
> 
> When direct IO complete, ext4 will convert unwritten extents to written,
> for
> writes over preallocated space, or holes.
> 
> ext4_direct_IO should returns the number of bytes read/write on success.
> However there is a bug that cause ext4_direct_IO returns the number of
> bytes converted to written extents, which is 0 on success. This bug
> causes
> direct IO falls back to buffered IO even on sucessful rewrites or
> preallocated space. 
> 
> Signed-off-by: Mingming Cao <cmm@us.ibm.com>

I fixed up some white space issues, and rewrote the patch descriptions
as follows:

ext4: fix ext4_ext_direct_IO()'s return value after converting uninit extents

After a direct I/O request covering an uninitalized extent (i.e.,
created using the fallocate system call) or a hole in a file, ext4
will convert the uninitialized extent so it is marked as initialized
by calling ext4_convert_unwritten_extents().  This function returns
zero on success.

This return value was getting returned by ext4_direct_IO(); however
the file system's direct_IO function is supposed to return the number
of bytes read or written on a success.  By returning zero, it confused
the direct I/O code into falling back to buffered I/O unnecessarily.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

Added to the patch queue.

						- Ted

      reply	other threads:[~2009-11-04  2:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-09  1:13 [PATCH 1/4 v2] Direct IO return value fix for holes/fallocate Mingming
2009-11-04  2:09 ` Theodore Tso [this message]

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=20091104020915.GF6510@mit.edu \
    --to=tytso@mit.edu \
    --cc=cmm@us.ibm.com \
    --cc=curtw@google.com \
    --cc=linux-ext4@vger.kernel.org \
    /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.