[PATCH] xfs_io: actually issue 0 size writes
Felix Blyakher
felixb at sgi.com
Thu Aug 13 17:52:28 CDT 2009
On Aug 13, 2009, at 5:15 PM, Eric Sandeen wrote:
> While testing some stuff in generic_write_checks() in the
> kernel I realized that you can't actually use xfs_io to send
> a 0-byte write in. This is actually a condition worth testing:
>
> If count is zero and fd refers to a regular file,
> then write() may return a failure status if one of
> the errors below is detected. If no errors are
> detected, 0 will be returned without causing any
> other effect.
As I understand the desire to be able to issue 0 size writes
from xfs_io is to test the possibility of writing to a given fd.
What kind of errors would you expect to test for?
Otherwise looks good.
Felix
>
>
> So fix that up.
>
> Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
> ---
>
> iff --git a/io/pwrite.c b/io/pwrite.c
> index 54c3f78..26a7850 100644
> --- a/io/pwrite.c
> +++ b/io/pwrite.c
> @@ -163,7 +163,7 @@ write_buffer(
> int ops = 0;
>
> *total = 0;
> - while (count > 0) {
> + while (count >= 0) {
> if (fd > 0) { /* input file given, read buffer first */
> if (read_buffer(fd, skip + *total, bs, &bar, 0, 1) < 0)
> break;
> @@ -182,6 +182,8 @@ write_buffer(
> break;
> offset += bytes;
> count -= bytes;
> + if (count == 0)
> + break;
> }
> return ops;
> }
>
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
More information about the xfs
mailing list