mremap has been around since before the dawn of it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
AC_HAVE_PWRITEV2
AC_HAVE_COPY_FILE_RANGE
AC_HAVE_FSETXATTR
-AC_HAVE_MREMAP
AC_NEED_INTERNAL_FSXATTR
AC_NEED_INTERNAL_FSCRYPT_ADD_KEY_ARG
AC_NEED_INTERNAL_FSCRYPT_POLICY_V2
HAVE_PWRITEV2 = @have_pwritev2@
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
HAVE_FSETXATTR = @have_fsetxattr@
-HAVE_MREMAP = @have_mremap@
NEED_INTERNAL_FSXATTR = @need_internal_fsxattr@
NEED_INTERNAL_FSCRYPT_ADD_KEY_ARG = @need_internal_fscrypt_add_key_arg@
NEED_INTERNAL_FSCRYPT_POLICY_V2 = @need_internal_fscrypt_policy_v2@
LCFLAGS += -DHAVE_PWRITEV2
endif
-ifeq ($(HAVE_MREMAP),yes)
-LCFLAGS += -DHAVE_MREMAP
-endif
-
ifeq ($(HAVE_MAP_SYNC),yes)
LCFLAGS += -DHAVE_MAP_SYNC
endif
static cmdinfo_t msync_cmd;
static cmdinfo_t munmap_cmd;
static cmdinfo_t mwrite_cmd;
-#ifdef HAVE_MREMAP
static cmdinfo_t mremap_cmd;
-#endif /* HAVE_MREMAP */
mmap_region_t *maptable;
int mapcount;
return 0;
}
-#ifdef HAVE_MREMAP
static void
mremap_help(void)
{
mapping->length = new_length;
return 0;
}
-#endif /* HAVE_MREMAP */
void
mmap_init(void)
_("writes data into a region in the current memory mapping");
mwrite_cmd.help = mwrite_help;
-#ifdef HAVE_MREMAP
mremap_cmd.name = "mremap";
mremap_cmd.altname = "mrm";
mremap_cmd.cfunc = mremap_f;
mremap_cmd.oneline =
_("alters the size of the current memory mapping");
mremap_cmd.help = mremap_help;
-#endif /* HAVE_MREMAP */
add_command(&mmap_cmd);
add_command(&mread_cmd);
add_command(&msync_cmd);
add_command(&munmap_cmd);
add_command(&mwrite_cmd);
-#ifdef HAVE_MREMAP
add_command(&mremap_cmd);
-#endif /* HAVE_MREMAP */
}
AC_SUBST(have_fsetxattr)
])
-#
-# Check if we have a mremap call (not on Mac OS X)
-#
-AC_DEFUN([AC_HAVE_MREMAP],
- [ AC_CHECK_DECL([mremap],
- have_mremap=yes,
- [],
- [#define _GNU_SOURCE
- #include <sys/mman.h>]
- )
- AC_SUBST(have_mremap)
- ])
-
#
# Check if we need to override the system struct fsxattr with
# the internal definition. This /only/ happens if the system