On 03/29/10 12:14 PM, Nicolas Williams wrote:
> On Sun, Mar 28, 2010 at 01:12:16PM -0600, Tim Haley wrote:
>> +        If the modification involved a change in the link count of a
>> +        file, the change will be expressed as a delta within
>> +        parentheses on the modification line.  Example outputs are
>> +        below:
>> +
>> +         M       /myfiles/
>> +         M       /myfiles/link_to_me   (+1)
>> +         R       /myfiles/rename_me ->  /myfiles/renamed
>> +         -       /myfiles/delete_me
>> +         +       /myfiles/new_file
>
> Is there any escaping of whitespace and non-printable characters in the
> pathnames?  If not then the above format is ambiguous and cannot be
> safely scripted.
>
> There are several ways that you could address that problem, such as
> escaping (HTML/XML entities? backslash escapes? pick your poison),
> adding a length field preceding either each path or each path that
> contains whitespace, or use a multi-line (for renames) format with paths
> being the last field such that you need only [backslash?-]escape
> newlines.
>
> Probably the simplest answer is backslash-escaping whitespace, since
> shells can handle that trivially.  That is what I recommend.

Taking a step back here, this subcommand is not the only zfs subcommand 
whose output could be subject to parsing by scripts.  Adding parsable 
output should be something that is thought-through for the entire suite 
of subcommands (and zfs-related commands) so that there is a uniformly 
applicable solution.  IMO, that's not this case (although that's 
ultimately the project team's decision).  If you think there is 
something that is ambiguous to the human eye, then I think that's in scope.

-Seb

Reply via email to