On Tue, Dec 6, 2016 at 12:15 AM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > On Mon, Dec 05, 2016 at 05:39:17PM +0200, Amir Goldstein wrote: >> On Mon, Dec 5, 2016 at 5:26 PM, Eric Sandeen <sandeen@xxxxxxxxxxx> wrote: >> > On 12/5/16 9:19 AM, Amir Goldstein wrote: >> >> On Mon, Dec 5, 2016 at 4:19 PM, Eric Sandeen <sandeen@xxxxxxxxxxx> wrote: >> >>> On 12/5/16 7:03 AM, Amir Goldstein wrote: >> >>>> There is an undocumented and possibly unused feature in xfs_io >> >>>> where all commands are executed per file in the file args list. >> >>>> >> >>>> This feature creates ambiguity when trying to execute commands >> >>>> such as "open" and "file" from command line and result in an >> >>>> endless loop in the command loop code. >> >>> >> >>> I may well be dense, but it's not immediately obvious what the >> >>> old and/or problematic behavior is. Can you spell it out a bit >> >>> more? What is an example of this loop? >> >> >> >> $ touch foo >> >> $ xfs_io -c "open foo" foo >> >> >> >> you will see the shit storm >> > >> > ;) Ok thanks. (would be nice to have that in the changelog) >> > >> >> Good point. I will add that. >> >> >> > >> > Given that neither the manpage nor the short help mention that more than >> > one filename is accepted, should this even succeed at all? >> > >> >> Make sense to me to fail on multiple file args. > > It doesn't to me. > > The fact that xfs_io has an open command, and it has > commands that can act on multiple files (e.g. sendfile) indicate > that it should be able to handle multiple files. > > Indeed, in interactive mode, the current file is really just an > index into the stack of open files. It works exactly the same way as > other XFS tools do with context stacks and accessed object rings > (e.g. xfs_db). i.e. you only need to open the file/access the object > once and then you can use the stack/ring to jump straight back to > it. In this case, it's the xfs_io "file" command. > > i.e. xfs_io is intended to by able to operate on multiple files at > once, and I do use that in interactive mode from time to time. > > What I haven't ever done is try to access that through the command > line, so I didn't know it had this "command loop" iteration problem. > > It's the command loop iteration problem we need to fix, not neuter > the multiple file capability of xfs_io. > OK, v4 it is. For some reason you fail to spell out your idea of "fixing", so I keep having to guess what you mean. This time I am guessing that you mean: - open all the files in args list (all using the same -r/-f flags) - iterate all commands exactly once without implicitly changing "file" Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html