Good time of day, i am working for optimization of readahead in systemd and now, i try to implement EXT4_IOC_MOVE_EXT ioctl. I have several questions: 1. In fs every file has a file descriptor, file descriptor is a integer number. Can we say what, by file descriptor, we can determine order of files where he places on a disk? As example: a - 5; b - 54; c - 31; d - 20; This mean what files place order like: start of disk -> a -> d -> c -> b -> end of disk and if i swap files by EXT4_IOC_MOVE_EXT, i can reorder it to: start of disk -> a -> b -> c -> d -> end of disk This is true? 2. Can i pack files in custom order on a disk? (i have order of accessing files on a disk, and i want place him in accessing order like e4rat project do) If yes, how? May be we have ioctl call or e2fsprogs has realisation of this? ( e4rat as i understand by looking source, patch kernel, to get features of files reorder) 3. In struct move_extent { __s32 reserved; /* original file descriptor */ __u32 donor_fd; /* donor file descriptor */ __u64 orig_start; /* logical start offset in block for orig */ __u64 donor_start; /* logical start offset in block for donor */ __u64 len; /* block length to be moved */ __u64 moved_len; /* moved block length */ }; Can i ignore (not set) orig_start, donor_start, len, moved_len? What happen if i set it by zeros? if i move original file descriptor to file descriptor with zero size of file, what happen? or in begger file donor then original? ----- Best regards, Timofey. -- 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