[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Patch] fix canonicalize-existing vbd file



Hi, Keir and Ian

Thank you, Ian.
How about the attached new patch?

Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>

Best Regards,

Akio Takebe

>Keir Fraser writes ("Re: [Xen-devel] [Patch] fix canonicalize-existing vbd 
>file"):
>> Do you mean to 'test -f "$file"'? A symlink will always fail 'test -f', and
>> $p can be a symlink.
>
>test -f calls stat(2) rather than lstat(2) and only falls back to the
>latter if the former fails.  So if the argument is a link which can be
>dereferenced, test -f tells you whether the link target is a file.
>
>If you want to know whether $file is a file or a symlink to a file
>   test -f "$file"
>precisely wrong as it is true in both those cases.
>
>See
>    http://www.opengroup.org/onlinepubs/009695399/utilities/test.html
>which says
>     With the exception of the -h file and -L file primaries, if a
>     file argument is a symbolic link, test shall evaluate the
>     expression by resolving the symbolic link and using the file
>     referenced by the link.
>
>It's actually true, too:
>
>mariner:~/junk> touch a 
>mariner:~/junk> ln -s a b
>mariner:~/junk> test -f a && echo file
>file
>mariner:~/junk> test -f b && echo file
>file
>mariner:~/junk> test -L b && echo link
>link
>mariner:~/junk> ln -s enoent c
>mariner:~/junk> test -f c && echo file
>mariner:~/junk> test -L c && echo link
>link
>mariner:~/junk>
>
>Ian.

Attachment: fix_check-existing_vbd_file.v2.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.