From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752141AbeA3ABj (ORCPT ); Mon, 29 Jan 2018 19:01:39 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:52882 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751439AbeA3ABg (ORCPT ); Mon, 29 Jan 2018 19:01:36 -0500 From: Mike Kravetz To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Hugh Dickins , Andrea Arcangeli , Michal Hocko , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , David Herrmann , Khalid Aziz , Andrew Morton , Mike Kravetz Subject: [PATCH 0/3] restructure memfd code Date: Mon, 29 Jan 2018 16:00:58 -0800 Message-Id: <20180130000101.7329-1-mike.kravetz@oracle.com> X-Mailer: git-send-email 2.13.6 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8789 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=725 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801290304 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I've had these patches sitting around for a few months. They are not critical, but might be desirable in some unusual configurations. They depend on code in mmotm and linux-next that is not yet upstream, and apply to those repos. With the addition of memfd hugetlbfs support, we now have the situation where memfd depends on TMPFS -or- HUGETLBFS. Previously, memfd was only supported on tmpfs, so it made sense that the code resides in shmem.c. This patch series moves the memfd code to separate files (memfd.c and memfd.h). It creates a new config option MEMFD_CREATE that is defined if either TMPFS or HUGETLBFS is defined. In the current code, memfd is only functional if TMPFS is defined. If HUGETLFS is defined and TMPFS is not defined, then memfd functionality will not be available for hugetlbfs. This does not cause BUGs, just a potential lack of desired functionality. When this was sent as a RFC, one comment suggested combining patches 2 and 3 so that we would not have 'new unused' files between patches. If this is desired, I can make the change. For me, it is easier to read as separate patches. Mike Kravetz (3): mm: hugetlbfs: move HUGETLBFS_I outside #ifdef CONFIG_HUGETLBFS mm: memfd: split out memfd for use by multiple filesystems mm: memfd: remove memfd code from shmem files and use new memfd files fs/Kconfig | 3 + fs/fcntl.c | 2 +- include/linux/hugetlb.h | 27 ++-- include/linux/memfd.h | 16 +++ include/linux/shmem_fs.h | 13 -- mm/Makefile | 1 + mm/memfd.c | 341 +++++++++++++++++++++++++++++++++++++++++++++++ mm/shmem.c | 323 -------------------------------------------- 8 files changed, 378 insertions(+), 348 deletions(-) create mode 100644 include/linux/memfd.h create mode 100644 mm/memfd.c -- 2.13.6