[PATCH v2 0/3] fix sync to flush processor cache for ext2/4 DAX files
by Toshi Kani
This patchset fixes issues that sync syscall to existing DAX ex2/4
files does not flush processor cache.
Patch 1/3 adds .bmap to ext4_dax_aops so that mount -o dax works for
the journal inode.
Patch 2/3 fixes the ext4 issue by setting i_flags before ext4_set_aops()
in ext4_iget().
Patch 3/3 fixes the ext2 issue by setting i_flags before ext2_set_aops()
in ext2_iget(), i.e. same as ext4.
v2:
- Add .bmap to ext4_dax_aops, instead of disabling dax for the journal
inode. (Jan Kara)
- Initialize i_flags early in ext4_iget(). (Jan Kara)
- Update Fixes tag and add Cc to Stable. (Dan Williams)
- Add fix to ext2.
---
Toshi Kani (3):
1/3 ext4, dax: add ext4_bmap to ext4_dax_aops
2/3 ext4, dax: set ext4_dax_aops for dax files
3/3 ext2, dax: set ext2_dax_aops for dax files
---
fs/ext2/inode.c | 2 +-
fs/ext4/inode.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
2 years, 4 months
You want hot sex?
by frayne@ottawa.anglican.org
Hi sweet. I’ve seen, found your profile and liked your appearence so much. I can’t stop thinking of you . I wish to learn you more. Find my pictures on that website
2 years, 4 months
get over here and f%ck me
by hakizimana@mc-creations.com
Hey handsome. I’ve seen, found your profile and liked your appearence so much. I can not stop dreaming of you . I wish to know you more. Find my gorgeous photos on that website
2 years, 4 months
[PATCH] dax: add missing address_space_operations for device dax
by Dave Jiang
With address_space_operations missing for device dax, namely the
.set_page_dirty, we hit a kernel warning when running destructive
ndctl unit test: make TESTS=device-dax check
WARNING: CPU: 3 PID: 7380 at fs/buffer.c:581 __set_page_dirty+0xb1/0xc0
Setting address_space_operations to noop_set_page_dirty and
noop_invalidatepage for device dax to prevent fallback to
__set_page_dirty_buffers() and block_invalidatepage() respectively.
Fixes: 2232c6382a ("device-dax: Enable page_mapping()")
Reported-by: Vishal Verma <vishal.l.verma(a)intel.com>
Suggested-by: Dan Williams <dan.j.williams(a)intel.com>
Signed-off-by: Dave Jiang <dave.jiang(a)intel.com>
---
drivers/dax/device.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/dax/device.c b/drivers/dax/device.c
index 6fd46083e629..079f6811eca6 100644
--- a/drivers/dax/device.c
+++ b/drivers/dax/device.c
@@ -534,6 +534,11 @@ static unsigned long dax_get_unmapped_area(struct file *filp,
return current->mm->get_unmapped_area(filp, addr, len, pgoff, flags);
}
+static const struct address_space_operations dev_dax_aops = {
+ .set_page_dirty = noop_set_page_dirty,
+ .invalidatepage = noop_invalidatepage,
+};
+
static int dax_open(struct inode *inode, struct file *filp)
{
struct dax_device *dax_dev = inode_dax(inode);
@@ -543,6 +548,7 @@ static int dax_open(struct inode *inode, struct file *filp)
dev_dbg(&dev_dax->dev, "trace\n");
inode->i_mapping = __dax_inode->i_mapping;
inode->i_mapping->host = __dax_inode;
+ inode->i_mapping->a_ops = &dev_dax_aops;
filp->f_mapping = inode->i_mapping;
filp->f_wb_err = filemap_sample_wb_err(filp->f_mapping);
filp->private_data = dev_dax;
2 years, 4 months
[ndctl PATCH] ndctl, build: Introduce --with-{bash,systemd}
by Dan Williams
The --with-bash-completion-dir and --with-systemd-unit-dir are not
arguments that set directory values, they are questions about whether
ndctl should build extra functionality and pull extra pkgconfig
variable information.
Clean them up to be --with-bash and --with-systemd and consistent.
This makes it clear that to disable systemd, for example, specify:
--without-systemd
...to the configure script.
Link: https://github.com/pmem/ndctl/issues/68
Reported-by: Robby Workman <rworkman(a)slackware.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
autogen.sh | 3 +--
configure.ac | 46 +++++++++++++++++-----------------------------
ndctl/Makefile.am | 2 +-
3 files changed, 19 insertions(+), 32 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index 21b0e250e672..2a52688bb403 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -17,8 +17,7 @@ libdir() {
args="--prefix=/usr \
--sysconfdir=/etc \
---libdir=$(libdir /usr/lib) \
---with-systemd-unit-dir"
+--libdir=$(libdir /usr/lib)"
echo
echo "----------------------------------------------------------------"
diff --git a/configure.ac b/configure.ac
index 7bfe5a7451b0..9dc11da194d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -115,22 +115,19 @@ PKG_CHECK_MODULES([UDEV], [libudev])
PKG_CHECK_MODULES([UUID], [uuid])
PKG_CHECK_MODULES([JSON], [json-c])
-AC_ARG_WITH([bash-completion-dir],
- AS_HELP_STRING([--with-bash-completion-dir[=PATH]],
- [Install the bash auto-completion script in this directory. @<:@default=yes@:>@]),
+AC_ARG_WITH([bash],
+ AS_HELP_STRING([--with-bash],
+ [Enable bash auto-completion. @<:@default=yes@:>@]),
[],
- [with_bash_completion_dir=yes])
+ [with_bash=yes])
-if test "x$with_bash_completion_dir" = "xyes"; then
+if test "x$with_bash" = "xyes"; then
PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0],
- [BASH_COMPLETION_DIR="`pkg-config --variable=completionsdir bash-completion`"],
- [BASH_COMPLETION_DIR="$datadir/bash-completion/completions"])
-else
- BASH_COMPLETION_DIR="$with_bash_completion_dir"
+ [BASH_COMPLETION_DIR=$($PKG_CONFIG --variable=completionsdir bash-completion)], [])
fi
AC_SUBST([BASH_COMPLETION_DIR])
-AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"])
+AM_CONDITIONAL([ENABLE_BASH_COMPLETION], [test "x$with_bash" = "xyes"])
AC_ARG_ENABLE([local],
AS_HELP_STRING([--disable-local], [build against kernel ndctl.h @<:@default=system@:>@]),
@@ -143,26 +140,18 @@ AC_CHECK_FUNCS([ \
secure_getenv\
])
-PKG_PROG_PKG_CONFIG
-AC_ARG_WITH([systemd-unit-dir],
- AS_HELP_STRING([--with-systemd-unit-dir[=DIR]],
- [Directory for systemd service files]),
- [],
- [with_systemd_unit_dir=yes])
-
-if test "x$with_systemd_unit_dir" = "xyes"; then
- def_systemd_unit_dir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
- if test "x$def_systemd_unit_dir" = "x"; then
- AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])
- with_systemd_unit_dir=no
- else
- with_systemd_unit_dir="$def_systemd_unit_dir"
- fi
+AC_ARG_WITH([systemd],
+ AS_HELP_STRING([--with-systemd],
+ [Enable systemd functionality (monitor). @<:@default=yes@:>@]),
+ [], [with_systemd=yes])
+
+if test "x$with_systemd" = "xyes"; then
+ PKG_CHECK_MODULES([SYSTEMD], [systemd],
+ [systemd_unitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)], [])
fi
-AS_IF([test "x$with_systemd_unit_dir" != "xno"],
- [AC_SUBST([systemd_unitdir], [$with_systemd_unit_dir])])
-AM_CONDITIONAL([ENABLE_SYSTEMD_UNIT_DIR], [test "x$with_systemd_unit_dir" != "xno"])
+AC_SUBST([systemd_unitdir])
+AM_CONDITIONAL([ENABLE_SYSTEMD_UNITS], [test "x$with_systemd" = "xyes"])
AC_ARG_WITH([tmpfilesdir],
[AS_HELP_STRING([--with-tmpfilesdir=DIR], [Directory for temporary runtime files])],
@@ -215,7 +204,6 @@ AC_MSG_RESULT([
sysconfdir: ${sysconfdir}
libdir: ${libdir}
includedir: ${includedir}
- systemd-unit-dir: ${systemd_unitdir}
tmpfilesdir: ${tmpfilesdir}
compiler: ${CC}
diff --git a/ndctl/Makefile.am b/ndctl/Makefile.am
index 4b44294ef9aa..d6839e4a9fb6 100644
--- a/ndctl/Makefile.am
+++ b/ndctl/Makefile.am
@@ -48,7 +48,7 @@ monitor_configdir = $(sysconfdir)/ndctl/
monitor_config_DATA = $(monitor_config_file)
EXTRA_DIST += $(monitor_config_file)
-if ENABLE_SYSTEMD_UNIT_DIR
+if ENABLE_SYSTEMD_UNITS
systemd_unit_DATA = ndctl-monitor.service
endif
2 years, 4 months
Allied Investment & consulting Services./.
by Allied Investment
For : linux-nvdimm(a)lists.01.org
I write to you based on a request by an investor who needs to invest his funds in your country. My name is Gilbert A. Mboweni, an investment Portfolio manager for Sub Saharan African Regions with our management head office situated in England. In our capacity, we represent the interests of very wealthy Investors / consortium mainly from East and North Africa, seeking for individuals & corporate bodies with Financial Management know-hows on portfolio / fund managements and investment strategies, ranging thru several fields and area of specialisation. We tailor solutions specific to our clients' needs , In addition, we set up bespoke investment strategies to our clients and defend their interests. We would often set up mechanism to facilitate international trade and investments, Free movement of cash funds via the traditional orthodox means as I choose to work with the best set of companies and financial institutions.
This reserved group of individuals, whom our firm is personally holding their assets briefs had instructed and approached us with a mandate to seek for a firm or an individual such as yourself who has the experience and capacity to receive their assets for safe keeping and possibly re-invest it into a good and lucrative investment you will recommend.
Due to the sensitivity of their position they hold in their Organisation and the unstable investment environment of their countries, they prefer to channel/move majority of their funds into more stable economies and developing nations where they can get good yield for their money and its safety most especially.
The scope of my obligation is to create and fund investments opportunity , Thus, If you have the required management skills, credible and viable ongoing projects, existing businesses that requires expansions on any level, we would be delighted to assist you on your projects with the necessary finance and resources required. Further details shall be discussed on hearing back from you on the terms of agreement, to this effect, you can reach me directly via for more information drawing a brief introduction of yourself and business operations to enable us revert and act accordingly.
Once we are convinced on your capacity to handle these assets, we will then provide you with all necessary information including the unmentioned amount involved and establish a communication channel between you and the broker responsible for funds disbursement.
Sincerely yours,
Gilbert Mboweni
For, Allied Investment & consulting Services,
Mobile: +447459225716
2 years, 4 months
[PATCH] uio: fix is_source param for check_copy_size() in copy_to_iter_mcsafe()
by Dave Jiang
copy_to_iter_mcsafe() is passing in the is_source parameter as "false"
to check_copy_size(). This is different than what copy_to_iter() does.
Also, the addr parameter passed to check_copy_size() is the source so
therefore we should be passing in "true" instead.
Fixes: 8780356ef630 ("x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe()")
Reported-by: Fan Du <fan.du(a)intel.com>
Signed-off-by: Dave Jiang <dave.jiang(a)intel.com>
Reviewed-by: Vishal Verma <vishal.l.verma(a)intel.com>
---
include/linux/uio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/uio.h b/include/linux/uio.h
index 409c845d4cd3..422b1c01ee0d 100644
--- a/include/linux/uio.h
+++ b/include/linux/uio.h
@@ -172,7 +172,7 @@ size_t copy_from_iter_flushcache(void *addr, size_t bytes, struct iov_iter *i)
static __always_inline __must_check
size_t copy_to_iter_mcsafe(void *addr, size_t bytes, struct iov_iter *i)
{
- if (unlikely(!check_copy_size(addr, bytes, false)))
+ if (unlikely(!check_copy_size(addr, bytes, true)))
return 0;
else
return _copy_to_iter_mcsafe(addr, bytes, i);
2 years, 4 months
[ndctl PATCH] ndctl, spec: Use pkgconfig for systemd
by Dan Williams
Decorate the BuildRequires for systemd with pkgconfig like all the other
dependencies.
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
ndctl.spec.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ndctl.spec.in b/ndctl.spec.in
index b782aeae12ad..98394a924030 100644
--- a/ndctl.spec.in
+++ b/ndctl.spec.in
@@ -20,7 +20,7 @@ BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(json-c)
BuildRequires: pkgconfig(bash-completion)
-BuildRequires: systemd
+BuildRequires: pkgconfig(systemd)
%description
Utility library for managing the "libnvdimm" subsystem. The "libnvdimm"
2 years, 4 months
[PATCH 0/4] Address issues slowing persistent memory initialization
by Alexander Duyck
This patch set is meant to be a v3 to my earlier patch set "Address issues
slowing memory init"[1]. However I have added 2 additional patches to
address issues seen in which NVDIMM memory was slow to initialize
especially on systems with multiple NUMA nodes.
Since v2 of the patch set I have replaced the config option to work around
the page init poisoning with a kernel parameter. I also updated one comment
based on input from Michal.
The third patch in this set is new and is meant to address the need to
defer some page initialization to outside of the hot-plug lock. It is
loosely based on the original patch set by Dan Williams to perform
asynchronous page init for ZONE_DEVICE pages[2]. However, it is based
more around the deferred page init model where memory init is deferred to a
fixed point, which in this case is to just outside of the hot-plug lock.
The fourth patch allows nvdimm init to be more node specific where
possible. I basically just copy/pasted the approach used in
pci_call_probe to allow for us to get the initialization code on the node
as close to the memory as possible. Doing so allows us to save considerably
on init time.
[1]: https://lkml.org/lkml/2018/9/5/924
[2]: https://lkml.org/lkml/2018/7/16/828
---
Alexander Duyck (4):
mm: Provide kernel parameter to allow disabling page init poisoning
mm: Create non-atomic version of SetPageReserved for init use
mm: Defer ZONE_DEVICE page initialization to the point where we init pgmap
nvdimm: Trigger the device probe on a cpu local to the device
Documentation/admin-guide/kernel-parameters.txt | 8 ++
drivers/nvdimm/bus.c | 45 ++++++++++
include/linux/mm.h | 2
include/linux/page-flags.h | 9 ++
kernel/memremap.c | 24 ++---
mm/debug.c | 16 +++
mm/hmm.c | 12 ++-
mm/memblock.c | 5 -
mm/page_alloc.c | 106 ++++++++++++++++++++++-
mm/sparse.c | 4 -
10 files changed, 200 insertions(+), 31 deletions(-)
--
2 years, 4 months