Piotr Sarna 1ab5b82f54 hugetlbfs: add O_TMPFILE support
With hugetlbfs, a common pattern for mapping anonymous huge pages is to
create a temporary file first.  Currently libraries like libhugetlbfs
and seastar create these with a standard mkstemp+unlink trick, but it
would be more robust to be able to simply pass the O_TMPFILE flag to
open().  O_TMPFILE is already supported by several file systems like
ext4 and xfs.  The implementation simply uses the existi= ng d_tmpfile
utility function to instantiate the dcache entry for the file.

Tested manually by successfully creating a temporary file by opening it
with (O_TMPFILE|O_RDWR) on mounted hugetlbfs and successfully mapping 2M
huge pages with it.  Without the patch, trying to open a file with
O_TMPFILE results in -ENOSUP.

Link: http://lkml.kernel.org/r/bc9383eff6e1374d79f3a92257ae829ba1e6ae60.1573285189.git.p.sarna@tlen.pl
Signed-off-by: Piotr Sarna <p.sarna@tlen.pl>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-12-01 12:59:08 -08:00
..
2019-09-27 15:10:34 -07:00
2019-11-30 10:57:22 -08:00
2019-09-19 09:42:37 -07:00
2019-07-12 17:37:53 -07:00
\n
2019-11-30 11:16:07 -08:00
\n
2019-11-30 11:16:07 -08:00
\n
2019-11-30 11:16:07 -08:00
2019-11-30 10:44:49 -08:00
2019-09-19 09:42:37 -07:00
2019-09-19 09:42:37 -07:00
2019-07-03 17:52:09 -04:00
2019-09-27 17:00:27 -07:00
2019-09-19 10:21:35 -07:00
2019-08-30 08:11:25 -07:00
2019-09-19 09:42:37 -07:00
2019-11-30 10:44:49 -08:00
2019-11-30 10:44:49 -08:00
2019-11-20 09:40:08 +01:00
2019-08-07 21:51:47 -04:00
2019-11-26 15:02:56 -07:00
2019-11-26 15:02:56 -07:00
2019-10-14 15:04:01 -07:00
2019-09-27 17:00:27 -07:00
2019-08-01 20:51:23 +02:00
2019-09-25 17:51:41 -07:00