Hi,
On Jan 16, 2007 21:03 +0900, sho@xxxxxxxxxxxxxx wrote:
1. Add new ioctl(EXT4_IOC_DEFRAG) which returns the first physical
block number of the specified file. With this ioctl, a command
gets the specified directory's.
Maybe I don't understand, but how is this different from the long-time
FIBMAP ioctl?
I can use FIBMAP instead of my new ioctl.
You are right. I should have used FIBMAP ioctl...
struct ext4_ext_defrag_data {
loff_t start_offset; /* start offset to defrag in byte */
loff_t defrag_size; /* size of defrag in bytes */
ext4_fsblk_t goal; /* block offset for allocation */
};
Two things of note:
- presumably the start_offset and defrag_size should be multiples of the
filesystem blocksize? If they are not, is it an error or are they
adjusted to cover whole blocks?
Given the value which isn't multiples of the blocksize,
they are adjusted to cover whole blocks in the kernel.
But I think that it isn't clean that the unit of goal is different from
start_offset and defrag_size. I will change their unit into a blocksize
in the next update.
- in previous defrag discussions (i.e. XFS defrag), it was desirable to
allow specifying different types of goals (e.g. hard, soft, kernel picks).
We may as well have a structure that allows these to be specified, instead
of having to change the interface afterward.
Let me see... Is it the following discussion?
http://marc.theaimsgroup.com/?l=linux-ext4&m=116161490908645&w=2
http://marc.theaimsgroup.com/?l=linux-ext4&m=116184475306761&w=2
Cheers, Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html