Files
mirror_zfs/module/zfs
Brian Behlendorf 8b4f9a2d55 Fix readlink(2)
This patch addresses three issues related to symlinks.

1) Revert the zfs_follow_link() function to a modified version
of the original zfs_readlink().  The only changes from the
original OpenSolaris version relate to using Linux types.
For the moment this means no vnode's and no zfsvfs_t.  The
caller zpl_follow_link() was also updated accordingly.  This
change was reverted because it was slightly gratuitious.

2) Update zpl_follow_link() to use local variables for the
link buffer.  I'd forgotten that iov.iov_base is updated by
uiomove() so after the call to zfs_readlink() it can not longer
be used.  We need our own private copy of the link pointer.

3) Allocate MAXPATHLEN instead of MAXPATHLEN+1.  By default
MAXPATHLEN is 4096 bytes which is a full page, adding one to
it pushes it slightly over a page.  That means you'll likely
end up allocating 2 pages which is wasteful of memory and
possibly slightly slower.
2011-02-16 15:54:55 -08:00
..
2010-12-14 10:06:44 -08:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:57 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:57 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2011-02-10 09:27:22 -08:00
2010-08-31 08:38:45 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-10-12 14:55:03 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:49 -07:00
2010-08-31 08:38:45 -07:00
2010-12-07 16:05:25 -08:00
2011-02-10 09:27:20 -08:00
2010-08-31 13:41:59 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-27 15:34:02 -07:00
2010-08-31 08:38:49 -07:00
2011-02-10 09:27:22 -08:00
2010-08-27 15:28:32 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 08:38:44 -07:00
2010-08-27 15:28:32 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 08:38:46 -07:00
2011-02-10 09:27:21 -08:00
2010-08-31 13:41:58 -07:00
2011-02-10 09:27:21 -08:00
2010-10-12 14:55:02 -07:00
2011-02-10 09:27:21 -08:00
2010-08-31 13:41:50 -07:00
2011-02-10 09:27:21 -08:00
2011-02-10 09:27:21 -08:00
2011-02-10 09:27:22 -08:00
2011-02-16 15:54:55 -08:00
2011-02-16 09:51:44 -08:00
2010-08-31 13:41:57 -07:00
2010-08-26 14:24:34 -07:00
2010-11-08 14:03:35 -08:00
2011-02-11 09:05:51 -08:00
2011-02-16 15:54:55 -08:00
2010-09-17 16:24:15 -07:00
2011-02-16 09:50:06 -08:00