[PATCH 5/6] xfs: move non-inline symlinks to the pagecache
Dave Chinner
david at fromorbit.com
Thu Apr 23 17:29:42 CDT 2015
On Thu, Apr 23, 2015 at 09:07:43PM +0200, Christoph Hellwig wrote:
> We can use the generic symlink in pagecache code for XFS non-inline
> symlinks. Because links are always shorter than a page we will
> get the zero termination for the link for free.
Doesn't work for v5 filesystems where headers and CRCs are embedded
into the same blocks as the symlink data. i.e. this now falls down
to ->readpage to read the link data into the page cache, and that
just reads the entire blocks into the page cache. So what we can end
up within the page cache is this:
4k block/page
+---|--------------+
hdr symlink data
And for a 1k block size v5 filesystem it could be this within a 4k
page:
1k block 1k block
+---|--------------+----|---------------+
hdr symlink data hdr symlink data
Either way, it will be completely misinterpretted by the generic
symlink code...
Cheers,
Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list