On Thu, Oct 22, 2009 at 11:52:23AM -0500, Bill Kendall wrote:
> path_to_handle() is not reliable when called on a path which
> is a symlink. If the symlink is dangling, or if its points
> to a non-XFS filesystem then path_to_handle() will fail. The
> reason is that path_to_handle() must open the path in order
> to obtain an fd for the xfsctl call.
>
> It's common during xfsrestore to have dangling symlinks since
> the target of the link may not be restored before the symlink.
>
> This patch adds a new function to libhandle, lpath_to_handle.
> It is just like path_to_handle, except it takes a filesystem
> path in addition to the path which you want convert to a
> handle.
I'm not sure this is a good API. We can derive a useful path for
the ioctl by using basename on the filename if it is a link without
needing to expose the details to the caller.
|