[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45AEA13B.6070606@us.ibm.com>
Date: Wed, 17 Jan 2007 14:20:43 -0800
From: Mingming Cao <cmm@...ibm.com>
To: "Amit K. Arora" <aarora@...ux.vnet.ibm.com>
CC: linux-ext4@...r.kernel.org, suparna@...ibm.com, alex@...sterfs.com,
suzuki@...ibm.com
Subject: Re: [Resubmit][Patch 0/2] Persistent preallocation in ext4
Amit K. Arora wrote:
> Outstanding Issues:
> ------------------
> (1) The final interface is yet to be decided. We have the option of
> chosing from one of these:
> a> modifying posix_fallocate() in glibc
> b> using fcntl
> c> using ftruncate, or
> d> using the ioctl interface.
>
> If we go with ioctl interface, we need to chose the return
> value from the ioctl. We should either return "0" for success and
> errno for failure, or we should be returning number of bytes
> preallocated.
>
Now I am more prefer just return 0 for success. Returning the number of
bytes preallocated back to userspace might be helpful in the case when
the specified window contains blocks already being allocated, but this
should not be a common case.
> (2) Also, we need to decide on what should happen in case of a
> partial success scenario. i.e. after few blocks get preallocated, we hit
> some error - say ENOSPC. Should the call just return the number of bytes
> preallocated, or should it "undo" the partial preallocation and then
> exit with error code ?
>
I think we should try to avoid this partial preallocation at the first
place. Probably checking the number of free blocks before calling
ext4_ext_get_blocks() and returns -ENOSPC if there isn't enough free
blocks to allocate. Otherwise, if it still hits ENOSPC error, I think it
doesn't hurt to leave the partial preallocated blocks there.
Cheers,
Mingming
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists