Make sure that highmem pages are not added to symlink page cache
[cascardo/linux.git] / Documentation / filesystems / porting
index 0f88e60..f1b87d8 100644 (file)
@@ -508,7 +508,11 @@ in your dentry operations instead.
 [mandatory]
        any symlink that might use page_follow_link_light/page_put_link() must
        have inode_nohighmem(inode) called before anything might start playing with
-       its pagecache.
+       its pagecache.  No highmem pages should end up in the pagecache of such
+       symlinks.  That includes any preseeding that might be done during symlink
+       creation.  __page_symlink() will honour the mapping gfp flags, so once
+       you've done inode_nohighmem() it's safe to use, but if you allocate and
+       insert the page manually, make sure to use the right gfp flags.
 --
 [mandatory]
        ->follow_link() is replaced with ->get_link(); same API, except that