On Mon, 29 Oct 2007 12:18:22 -0700 Mike Waychison <mikew@xxxxxxxxxx> wrote: > Zach Brown wrote: > >>> And another of my pet peeves with ->bmap is that it uses 0 to > >>> mean "sparse" which causes a conflict on NTFS at least as block > >>> zero is part of the $Boot system file so it is a real, valid > >>> block... NTFS uses -1 to denote sparse blocks internally. > >> Reiserfs and Btrfs also use 0 to mean packed. It would be nice if > >> there was a way to indicate your-data-is-here-but-isn't-alone. > >> But that's more of a feature for the FIEMAP stuff. > > > > And maybe we can step back and see what the callers of FIBMAP are > > doing with the results they're getting. > > > > One use is to discover the order in which to read file data that > > will result in efficient IO. > > > > If we had an interface specifically for this use case then perhaps a > > sparse block would be better reported as the position of the inode > > relative to other data blocks. Maybe the inode block number in > > ext* land. > > > > Can you clarify what you mean above with an example? I don't really > follow. This is a larger topic of helping userland optimize access to groups of files. For example, during a readdir if we knew the next step was to delete all the files found, we could do one top of readahead (or even ordering the returned values). If we knew the next step would be to read all the files found, a different type of readahead would be useful. But, we shouldn't inflict all of this on fibmap/fiemap....we'll get lost trying to make the one true interface for all operations. For grouping operations on files, I think a read_tree syscall with hints for what userland will do (read, stat, delete, list filenames), and a better cookie than readdir should do it. -chris - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html