- stable@
19.03.2021, 08:29, "Dmitry Monakhov" :
> Otherwise we may endup blocking on pipe or socket.
>
> Fixes: 6d5d5ac ("io_uring: extend async work merge")
> Testcase:
> https://github.com/dmonakhov/liburing/commit/16d171b6ef9d68e6db66650a83d98c5c721d01
Otherwise we may endup blocking on pipe or socket.
Fixes: 6d5d5ac ("io_uring: extend async work merge")
Testcase:
https://github.com/dmonakhov/liburing/commit/16d171b6ef9d68e6db66650a83d98c5c721d01f6
Signed-off-by: Dmitry Monakhov
---
fs/io_uring.c | 3 +++
1 file changed, 3
10.03.2021, 16:41, "Christoph Hellwig" :
> On Wed, Mar 10, 2021 at 02:21:56PM +0100, Christoph Hellwig wrote:
>> Can you try this patch instead?
>>
>> http://lists.infradead.org/pipermail/linux-nvme/2021-February/023183.html
>
> Actually, please try the patch below instead, it looks like our e
:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
Signed-off-by: Dmitry Monakhov
---
drivers/nvme/host/pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 17ab332..7249ae7 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
Paolo Valente writes:
>> Il giorno 9 lug 2020, alle ore 10:19, Dmitry Monakhov
>> ha scritto:
>>
>> Paolo Valente writes:
>>
>>>> Il giorno 8 lug 2020, alle ore 19:48, Dmitry Monakhov
>>>> ha scritto:
>>>>
>>&
v
grep blkio /proc/cgroups
truncate -s 1M img
losetup /dev/loop0 img
echo bfq > /sys/block/loop0/queue/scheduler
grep blkio /proc/cgroups
for ((i=0;i /sys/fs/cgroup/blkio/a/cgroup.procs
dd if=/dev/loop0 bs=4k count=1 of=/dev/null iflag=direct 2> /dev/null
echo 0 > /sys/fs/cgroup/
measure_alloc_pages_wait=Y measure maximum page allocation wait time
Signed-off-by: Dmitry Monakhov
---
lib/test_lockup.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/lib/test_lockup.c b/lib/test_lockup.c
index 0f81252..867b2f4 100644
--- a
r=$CGROUP_MUTEX reacquire_locks=Y\
cond_resched_inside=Y measure_lockup=Y &
stress-ng -c $(nproc) --timeout 10s&
time mkdir /sys/fs/cgroup/blkio/a
time rmdir /sys/fs/cgroup/blkio/a
Signed-off-by: Dmitry Monakhov
---
lib/test_lockup.c | 45 +
1 fi
--timeout 10s&
time mkdir /sys/fs/cgroup/blkio/a
Signed-off-by: Dmitry Monakhov
---
lib/test_lockup.c | 44 +++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/lib/test_lockup.c b/lib/test_lockup.c
index 0f81252..3e05d6e 100644
--- a/lib
dir /sys/fs/cgroup/blkio/a
grep blkio /proc/cgroups
done
##TESTCASE_END:
changes since v2:
- use safe iteration macro to prevent freed object dereference.
Signed-off-by: Dmitry Monakhov
---
block/bfq-wf2q.c | 24 ++--
1 file changed, 14 insertions(+), 10 deletions(-)
diff --
truncate -s 1M img
losetup /dev/loop0 img
echo bfq > /sys/block/loop0/queue/scheduler
grep blkio /proc/cgroups
for ((i=0;i /sys/fs/cgroup/blkio/a/cgroup.procs
dd if=/dev/loop0 bs=4k count=1 of=/dev/null iflag=direct 2> /dev/null
echo 0 > /sys/fs/cgroup/blkio/cgroup.procs
rmdir /
Paolo Valente writes:
>> Il giorno 9 lug 2020, alle ore 10:19, Dmitry Monakhov
>> ha scritto:
>>
>> Paolo Valente writes:
>>
>>>> Il giorno 8 lug 2020, alle ore 19:48, Dmitry Monakhov
>>>> ha scritto:
>>>>
>>>>
Paolo Valente writes:
>> Il giorno 8 lug 2020, alle ore 19:48, Dmitry Monakhov
>> ha scritto:
>>
>> Paolo Valente writes:
>>
>>> Hi,
>>> sorry for the delay. The commit you propose to drop fix the issues
>>> reported in [1].
>&
e real one.
Please correct me if I'm wrong.
>
> I'll check it ASAP, unless you do it before me.
>
> Thanks,
> Paolo
>
> [1] https://lkml.org/lkml/2020/1/31/94
>
>> Il giorno 2 lug 2020, alle ore 12:57, Dmitry Monakhov
>> ha scritto:
>>
>>
Dmitry Monakhov writes:
Ping. Do you have any objections against this patch?
> commit db37a34c563b ("block, bfq: get a ref to a group when adding it to a
> service tree")
> introduce leak forbfq_group and blkcg_gq objects because of get/put
> imbalance. See trace
ck/loop0/queue/scheduler
grep blkio /proc/cgroups
for ((i=0;i /sys/fs/cgroup/blkio/a/cgroup.procs
dd if=/dev/loop0 bs=4k count=1 of=/dev/null iflag=direct 2> /dev/null
echo 0 > /sys/fs/cgroup/blkio/cgroup.procs
rmdir /sys/fs/cgroup/blkio/a
grep blkio /proc/cgroups
done
##TESTCASE_E
ck/loop0/queue/scheduler
grep blkio /proc/cgroups
for ((i=0;i /sys/fs/cgroup/blkio/a/cgroup.procs
dd if=/dev/loop0 bs=4k count=1 of=/dev/null iflag=direct 2> /dev/null
echo 0 > /sys/fs/cgroup/blkio/cgroup.procs
rmdir /sys/fs/cgroup/blkio/a
grep blkio /proc/cgroups
done
##TESTCASE_E
Christoph Hellwig writes:
> Hi Dmitry,
>
> can you resend this series?
Sorry for a very long delay, I'm in the middle of honeymoon and this is
not a good time for a work :)
> I really think we should get this into 4.12 at least.
Please see updated version in the LKML list.
"Martin K. Petersen" writes:
> Dmitry Monakhov writes:
>
>> SCSI drivers do care about bip_seed so we must update it accordingly.
>
>> +bip->bip_iter.bi_sector += bytes_done >> 9;
>
> This needs to count protection intervals. Otherwise things w
Christoph Hellwig writes:
> This look ok, but how did you manage to trigger this case?
# testcases
# TEST1
# Via bug in fallocate
truncate -l 1G img
losetup /dev/loop img
mkfs.ext4 -qF /dev/loop0
mkdir m
mount /dev/loop0 m
# command above truncate bdevs pagecache
xfs_io -c "falloc -k 0 32G" -d
MHO (mode == FALLOC_FL_KEEP_SIZE) is sane API for thin-provision blkdevs
to preallocate space in advance. Nobody use it at the moment, but it may
be usefull in future.
>
> On Thu, Apr 06, 2017 at 04:02:49PM +0400, Dmitry Monakhov wrote:
>> Signed-off-by: Dmitry Monakhov
>> ---
&
Some callers (usually error paths) call bdevname with null bdev.
Signed-off-by: Dmitry Monakhov
---
block/partition-generic.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block/partition-generic.c b/block/partition-generic.c
index 7afb990..284de18 100644
--- a/block/partition-generic.c
Idially this type of check should be handled at generic_make_request_checks
, but it is too late for bdevless bios, bad pointer was already
dereferenced at that point.
Signed-off-by: Dmitry Monakhov
---
block/blk-core.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/block/blk-core.c b
ard __find_get_block from null pointer bdev.
Signed-off-by: Dmitry Monakhov
---
fs/buffer.c | 24 +++-
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index 9196f2a..4c8ce74 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1355,8 +1355,12 @@ lookup_bh_
Signed-off-by: Dmitry Monakhov
---
fs/block_dev.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 2eca00e..f4b13e1 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -2075,7 +2075,7 @@ static long blkdev_fallocate(struct file
This prevent us from panic if someone invalidate bh under us.
Signed-off-by: Dmitry Monakhov
---
fs/jbd2/revoke.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/jbd2/revoke.c b/fs/jbd2/revoke.c
index f9aefcd..e3b791d 100644
--- a/fs/jbd2/revoke.c
+++ b/fs/jbd2/revoke.c
If you saw a command "fallocate -k -l 1G /dev/vda" you probably think
that user want to preallocate space on thin-provision blkdev. Right?
What possibly can go wrong? Unfortunately you may destroy your filesystem
and kernel panic. The reason is the bug in blkdev_fallocate() which
unconditionally tr
blkdev_issue_flush+0x7a/0x85
blkdev_fsync+0x35/0x42
vfs_fsync_range+0x8e/0x9f
vfs_fsync+0x1c/0x1e
do_fsync+0x31/0x4a
SyS_fsync+0x10/0x14
entry_SYSCALL_64_fastpath+0x1f/0xc2
Reviewed-by: Christoph Hellwig
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 3 +++
1 file changed, 3
SCSI drivers do care about bip_seed so we must update it accordingly.
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index b5009a8..82a6ffb 100644
--- a/block/bio-integrity.c
+++ b/block
0, sectors == bio_sectors(bio)
Let's just remove them completely.
changes from v1:
- remove 'sectors' arguments
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 11 ++-
block/bio.c | 4 ++--
drivers/md/dm.c | 2 +-
include/linux/bio.h | 5
ts number
of bytes iterator was advanced during it's evolution. Later end_io handler
may easily restore original iterator by rewinding iterator to
iter->bi_done.
Note: this change makes sizeof (struct bvec_iter) multiple to 8
Signed-off-by: Dmitry Monakhov
---
include/linux/bio.h | 21 ++
ecs, not others.
This patch does:
- Return error back to caller with hope that it will react on this
- Truncate iterator size
Code was added long time ago here 4550dd6c, luckily no one hit it
in real life :)
changes since V1:
- Replace BUG_ON with error logic.
Signed-off-by: Dmitry Monakho
Signed-off-by: Dmitry Monakhov
---
block/t10-pi.c | 9 +++--
drivers/scsi/lpfc/lpfc_scsi.c| 5 +++--
drivers/scsi/qla2xxx/qla_isr.c | 8
drivers/target/target_core_sbc.c | 2 +-
include/linux/t10-pi.h | 2 ++
5 files changed, 13 insertions(+), 13
ub.com/dmonakhov/xfstests/commit/3c6509eaa83b9c17cd0bc95d73fcdd76e1c54a85
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 22 +++---
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index f2b9f09..f08096d 100644
--- a
le to fold it in to one function.
Signed-off-by: Dmitry Monakhov
---
Documentation/block/data-integrity.txt | 3 --
block/bio-integrity.c | 88 ++
block/blk-core.c | 5 +-
block/blk-mq.c | 8 +--
This patch set fix various problems spotted during T10/DIF integrity machinery
testing.
TOC:
## Fix various bugs in T10/DIF/DIX infrastructure
0001-bio-integrity-Do-not-allocate-integrity-context-for
0002-bio-integrity-bio_trim-should-truncate-integrity-vec
0003-bio-integrity-bio_integrity_advanc
Reviewed-by: Christoph Hellwig
Signed-off-by: Dmitry Monakhov
---
block/bio.c | 4
1 file changed, 4 insertions(+)
diff --git a/block/bio.c b/block/bio.c
index e75878f..fa84323 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1907,6 +1907,10 @@ void bio_trim(struct bio *bio, int offset, int
Ming Lei writes:
> On Mon, Apr 3, 2017 at 3:23 PM, Dmitry Monakhov wrote:
>> Currently if some one try to advance bvec beyond it's size we simply
>> dump WARN_ONCE and continue to iterate beyond bvec array boundaries.
>> This simply means that we endup dereferencin
Christoph Hellwig writes:
> This is a pretty big increase in the bio_integrity_payload size,
> but I guess we can't get around it..
Yes, everybody hate this solution, me too, but I've stated with
other approach and it is appeaded to be very ugly.
My idea was that we have two types of iterator i
blkdev_issue_flush+0x7a/0x85
blkdev_fsync+0x35/0x42
vfs_fsync_range+0x8e/0x9f
vfs_fsync+0x1c/0x1e
do_fsync+0x31/0x4a
SyS_fsync+0x10/0x14
entry_SYSCALL_64_fastpath+0x1f/0xc2
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block
Signed-off-by: Dmitry Monakhov
---
block/bio.c | 4
1 file changed, 4 insertions(+)
diff --git a/block/bio.c b/block/bio.c
index e75878f..fa84323 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1907,6 +1907,10 @@ void bio_trim(struct bio *bio, int offset, int size)
bio_advance(bio
just remove it completely.
TODO: add xfstests testcase here
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 8 +---
block/bio.c | 4 ++--
drivers/md/dm.c | 2 +-
include/linux/bio.h | 5 ++---
4 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/block/bi
bio->bi_iter.bi_size == 0
The simplest way to fix that is to save original data vector and treat is
as immutable.
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 6 --
include/linux/bio.h | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/block/bio-integrity.c b/blo
Currently all integrity prep hooks are open-coded, and if prepare fails
we ignore it's code and fail bio with EIO. Let's return real error to
upper layer, so later caller may react accordingly. For example retry in
case of ENOMEM.
Signed-off-by: Dmitry Monakhov
---
block/blk-core.
This patch set fix various problems spotted during T10/DIF integrity machinery
testing.
TOC:
## Fix various bugs in T10/DIF/DIX infrastructure
0001-bio-integrity-Do-not-allocate-integrity-context-for-fsync
0002-bio-integrity-save-original-iterator-for-verify-stage
0003-bio-integrity-bio_trim-shou
Signed-off-by: Dmitry Monakhov
---
block/t10-pi.c | 9 +++--
drivers/scsi/lpfc/lpfc_scsi.c| 5 +++--
drivers/scsi/qla2xxx/qla_isr.c | 8
drivers/target/target_core_sbc.c | 2 +-
include/linux/t10-pi.h | 3 +++
5 files changed, 14 insertions(+), 13
ecs, not others.
This patch does:
- Return error back to caller with hope that it will react on this
- Truncate iterator size
Code was added long time ago here 4550dd6c, luckily no one hit it
in real life :)
changes since V1:
- Replace BUG_ON with error logic.
Signed-off-by: Dmitry Monakho
bio->bi_iter.bi_size == 0
The simplest way to fix that is to save original data vector and treat is
as immutable.
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 6 --
include/linux/bio.h | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/block/bio-integrity.c b/blo
Signed-off-by: Dmitry Monakhov
---
block/bio.c | 4
1 file changed, 4 insertions(+)
diff --git a/block/bio.c b/block/bio.c
index e75878f..fa84323 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1907,6 +1907,10 @@ void bio_trim(struct bio *bio, int offset, int size)
bio_advance(bio
Signed-off-by: Dmitry Monakhov
---
block/t10-pi.c | 9 +++--
drivers/scsi/lpfc/lpfc_scsi.c| 4 ++--
drivers/scsi/qla2xxx/qla_isr.c | 8
drivers/target/target_core_sbc.c | 2 +-
include/linux/t10-pi.h | 3 +++
5 files changed, 13 insertions(+), 13
just remove it completely.
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 8 +---
block/bio.c | 4 ++--
drivers/md/dm.c | 2 +-
include/linux/bio.h | 5 ++---
4 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/block/bio-integrity.c b/block/bio-in
life :)
Signed-off-by: Dmitry Monakhov
---
include/linux/bvec.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/include/linux/bvec.h b/include/linux/bvec.h
index 89b65b8..86b914f 100644
--- a/include/linux/bvec.h
+++ b/include/linux/bvec.h
@@ -70,8 +70,7 @@ static inline
Currently all integrity prep hooks are open-coded, and if prepare fails
we ignore it's code and fail bio with EIO. Let's return real error to
upper layer, so later caller may react accordingly. For example retry in
case of ENOMEM.
Signed-off-by: Dmitry Monakhov
---
block/blk-core.
/marc.info/?l=linux-scsi&m=149087996913448&w=2
Signed-off-by: Dmitry Monakhov
---
drivers/target/target_core_file.c | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/target/target_core_file.c
b/drivers/target/target_core_file.c
index 87aa3
blkdev_issue_flush+0x7a/0x85
blkdev_fsync+0x35/0x42
vfs_fsync_range+0x8e/0x9f
vfs_fsync+0x1c/0x1e
do_fsync+0x31/0x4a
SyS_fsync+0x10/0x14
entry_SYSCALL_64_fastpath+0x1f/0xc2
Signed-off-by: Dmitry Monakhov
---
block/bio-integrity.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block
This patch set fix various problems spotted during T10/DIF integrity machinery
testing.
TOC:
## General bulletproof protection for block layer
0001 Guard bvec iteration logic
## Fix various bugs in T10/DIF/DIX infrastructure
0002 bio integrity: Do not allocate integrity context for
0003 bio inte
"Martin K. Petersen" writes:
> Dmitry Monakhov writes:
>
> Dmitry,
>
>> scsi_debug has very strange structure from one point it supports
>> dynamic number of devices but from other point context is common for
>> all devices:
>
>> So basically w
Hi scsi_debug has very strange structure
from one point it supports dynamic number of devices
but from other point context is common for all devices:
- dif_storep (array of t10 dif tuples)
- map_storep (block map for thinprovision)
- fake_storep (in memory data storage)
- sdebug_q_arr (queue ar
It is reasonable drop page cache on discard, otherwise that pages may
be written by writeback second later, so thin provision devices will
not be happy. This seems to be a security leak in case of secure discard case.
Also add check for queue_discard flag on early stage.
Signed-off-by: Dmitry
It is reasonable drop page cache on discard, otherwise that pages may
be written by writeback second later, so thin provision devices will
not be happy. This seems to be a security leak in case of secure discard case.
Also add check for queue_discard flag on early stage.
Signed-off-by: Dmitry
Currently "%o" not parsed properly and printed as '>o<'
# perf record -e ext4:ext4* touch new_file; perf script | grep "mode"
Signed-off-by: Dmitry Monakhov
---
tools/lib/traceevent/event-parse.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/lib/t
This will help us to catch missed format specifiers much quicker.
Signed-off-by: Dmitry Monakhov
---
tools/lib/traceevent/event-parse.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/lib/traceevent/event-parse.c
b/tools/lib/traceevent/event-parse.c
index 27dc1f8..546a0f9 100644
Theodore Ts'o writes:
> On Sun, Aug 21, 2016 at 03:02:38PM +0300, Dmitry Monakhov wrote:
>> Probably it it reasonable to create dedicated directory ./docker
>> and place all docker related crap there:
>> # build scripts
>> docker/Dockerfile.build-env
>> d
Theodore Ts'o writes:
> On Sat, Aug 20, 2016 at 02:31:26PM +0300, Dmitry Monakhov wrote:
>> > I'm not sure I see the advantage of doing this in a container, I
>> > guess. I just do in my standard laptop environment today.
>> I can not because I laptop
Theodore Ts'o writes:
> On Fri, Aug 19, 2016 at 12:27:43PM +0300, Dmitry Monakhov wrote:
>> Actually main idea is to have build environment for xfstests-bld development
>> plus automatic builds gives us CI. This is important because
>> xfstests-blk build is silently
Theodore Ts'o writes:
> On Fri, Aug 19, 2016 at 12:54:11AM +0400, Dmitry Monakhov wrote:
>> Dockerfile is good way to create build environments
>> Let's keep it as a reference build script.
>>
>> XXX: Currently Ted does not have hub.docker account
>>
ndb can be explicitly disconnected via NBD_DISCONNECT while
active user still exists this result in massive spam to logs.
Let's ratelimits such messages.
Signed-off-by: Dmitry Monakhov
---
drivers/block/nbd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dr
Maxim Patlasov writes:
> The patch solves the following problem: file system specific routines
> involved in ordinary routine writeback process BUG_ON page_buffers()
> because a page goes to writeback without buffer-heads attached.
>
> The way how kvm_set_pfn_dirty calls SetPageDirty works only f
Jan Kara writes:
> Hello,
>
> I was thinking about current issues with DAX fault locking [1] (data
> corruption due to racing faults allocating blocks) and also races which
> currently don't allow us to clear dirty tags in the radix tree due to races
> between faults and cache flushing [2]. Both
Ross Zwisler writes:
> To properly handle fsync/msync in an efficient way DAX needs to track dirty
> pages so it is able to flush them durably to media on demand.
Please see coments below
>
> The tracking of dirty pages is done via the radix tree in struct
> address_space. This radix tree is alr
Signed-off-by: Dmitry Monakhov
---
fs/dax.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/dax.c b/fs/dax.c
index e0e9358..fc2e314 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -358,7 +358,8 @@ static int dax_radix_entry(struct address_space *mapping,
pgoff_t index
Al Viro writes:
> It had been posted back in April and got acked by Jan; I'm also
> fine with it and I'd like to apply at least generic + fs/* parts. Could
> you rebase it to the current mainline and post it?
Ok, in progress.
signature.asc
Description: PGP signature
Mike Krinkin writes:
> Hi,
>
> i'm developing block layer workload simulator/player and need to
> generate bios as close as possible to the ones in original workload.
> To play workload i employ aio + O_DIRECT, but all IOs end up as bios
> with SYNC flag set. So i wonder is there any way to cont
Beata Michalska writes:
> Introduce configurable generic interface for file
> system-wide event notifications, to provide file
> systems with a common way of reporting any potential
> issues as they emerge.
>
> The notifications are to be issued through generic
> netlink interface by newly introd
Hi Jens, do you have any objections against this patch?
Please let me know if you have any and I'll fix it.
Dmitry Monakhov writes:
> Usually blk_trace is not active, but cfq_log_xxx macros unconditionally
> prepare cgroup path via blkg_path() which is suboptimal. This provoke
&g
changes from V1:
-fix use bio after free on raid10 error path (spotted by Jan Kara)
Signed-off-by: Dmitry Monakhov
---
drivers/md/bcache/debug.c|6 +-
drivers/md/bcache/io.c |8 +--
drivers/md/bcache/super.c| 32 --
drivers/md/dm-cache-target.c |5
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monakhov
---
drivers/block/drbd/drbd_req.c |6 ++
drivers/block/pktcdvd.c | 14 --
drivers/scsi/wd7000.c |6 +-
drivers/target/target_core_iblock.c |4 +---
4 files changed, 8
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monakhov
---
block/blk-core.c | 30 --
block/blk-settings.c |9 ++---
2 files changed, 14 insertions(+), 25 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 794c3e7..88a4c94 100644
--- a
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monakhov
---
fs/btrfs/super.c |4 +---
fs/buffer.c | 21 ++---
fs/ext2/xattr.c |6 ++
fs/ext3/super.c |5 ++---
fs/ext3/xattr.c |5 ++---
fs/ext4/page-io.c |5 ++---
fs
gendisk with part==0 is obviously gendisk->disk_name.
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monakhov
---
fs/block_dev.c | 12 +++-
1 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/fs/block_dev.c b/fs/block_dev.c
index c7e4163..874a8d1 100644
--- a/fs/block_de
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monakhov
---
block/partition-generic.c |3 ++-
block/partitions/amiga.c | 13 ++---
block/partitions/sgi.c|9 -
block/partitions/sun.c|9 -
4 files changed, 16 insertions(+), 18 deletions(-)
diff --git a
This allow to directly print block_device name.
Currently one should use bdevname() with temporal char buffer.
This is very ineffective because bloat stack usage for deep IO call-traces
Example:
%pg ->sda, sda1 or loop0p1
Reviewed-by: Jan Kara
Signed-off-by: Dmitry Monak
Currently in order to print block_device name one should use blkdev() helper
which requires temproral buffer of size BDEVNAME_SIZE (32bytes). This is very
ineffective because result in stack usage bloating for deep IO call traces where
stack usage is close to maximum values.
It is reasonable to i
gendisk with part==0 is obviously gendisk->disk_name.
Signed-off-by: Dmitry Monakhov
---
fs/block_dev.c | 12 +++-
1 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 79b4fa3..f123b02 100644
--- a/fs/block_dev.c
+++ b/fs/block_de
Signed-off-by: Dmitry Monakhov
---
fs/btrfs/super.c |4 +---
fs/buffer.c | 21 ++---
fs/ext2/xattr.c |6 ++
fs/ext3/super.c |5 ++---
fs/ext3/xattr.c |5 ++---
fs/ext4/page-io.c |5 ++---
fs/ext4/xattr.c |6
Currently in order to print block_device name one should use blkdev() helper
which requires temproral buffer of size BDEVNAME_SIZE (32bytes). This is very
ineffective because result in stack usage bloating for deep IO call traces where
stack usage is close to maximum values.
It is reasonable to i
- bdevname() now works via "%pg" format specifier (in responce to Joe's
comments)
Signed-off-by: Dmitry Monakhov
---
block/partition-generic.c |3 ++-
block/partitions/amiga.c | 13 ++---
block/partitions/sgi.c|9 -
block/partitions/sun.c|
This allow to directly print block_device name.
Currently one should use bdevname() with temporal char buffer.
This is very ineffective because bloat stack usage for deep IO call-traces
Example:
%pg ->sda, sda1 or loop0p1
Signed-off-by: Dmitry Monakhov
---
Documentation/pri
Signed-off-by: Dmitry Monakhov
---
block/blk-core.c | 30 --
block/blk-settings.c |9 ++---
2 files changed, 14 insertions(+), 25 deletions(-)
diff --git a/block/blk-core.c b/block/blk-core.c
index 794c3e7..88a4c94 100644
--- a/block/blk-core.c
+++ b
Signed-off-by: Dmitry Monakhov
---
drivers/md/bcache/debug.c|6 +-
drivers/md/bcache/io.c |8 +--
drivers/md/bcache/super.c| 32 --
drivers/md/dm-cache-target.c |5 +-
drivers/md/dm-table.c| 32 -
drivers/md/dm-thin.c |8
Signed-off-by: Dmitry Monakhov
---
drivers/block/drbd/drbd_req.c |6 ++
drivers/block/pktcdvd.c | 14 --
drivers/scsi/wd7000.c |6 +-
drivers/target/target_core_iblock.c |4 +---
4 files changed, 8 insertions(+), 22 deletions
Al Viro writes:
> On Sun, Apr 12, 2015 at 09:08:21PM +0400, Dmitry Monakhov wrote:
>> Fix other long standing issues caused by fcntl(,F_SETFL,):
>> - User can disable O_DIRECT for pipe[1] (paketized IO), but can not enable
>> it again.
>> - Currently we do not set O
nd flag after kiocb was constructed
(where ->ki_flags is stable), for that reason we should use special
analog of vfs_write_iter() which asserts non-append behaviour.
Signed-off-by: Dmitry Monakhov
---
fs/splice.c | 23 ++-
1 files changed, 22 insertions(+), 1 deletions(
Al Viro already made most vfs/write_iters fcntl safe, but pipe and splice
are still affected. Patchset against vfs.git#for-next f1d36c2d711166aaa84f37
TOC:
0001-pipe-fix-race-with-fcntl
0002-splice-fix-race-beween-splice_write-vs-fcntl
--
To unsubscribe from this list: send the line "unsubscribe li
end's of pipe. Add ->check_flags method in order to diallow O_APPEND toggling.
Signed-off-by: Dmitry Monakhov
---
fs/fcntl.c |6 --
fs/pipe.c | 16 +---
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/fs/fcntl.c b/fs/fcntl.c
index ee85cd4..0bdc9c
Dave Chinner writes:
> On Tue, Mar 24, 2015 at 09:26:58AM -0600, Jens Axboe wrote:
>> The top bits of bio->bi_flags are reserved for keeping the
>> allocation pool, set aside the next four bits for carrying
>> a stream ID. That leaves us with support for 15 streams,
>> 0 is reserved as a "stream
t=1 --group_reporting --filename=/dev/nullb0 \
--rw=write --iodepth=64 --bs=4k --numjobs=8 --size=4G
| | baseline | w/ patch | gain |
| WR iops | 161483 | 189989 | +17% |
| stddev |14.36 |13.19 | |
Signed-off-by: Dmitry Monakhov
---
block/blk-throttle.c |
Jens Axboe writes:
One small question.
You states that all IDs are equals but can we reserve some IDs
for internal kernel purposes. For example very short lived data (files
opened with O_TEMP) and so on.
Also small nitpicking see below.
> Writing on flash devices can be much more efficient, if w
Al Viro writes:
> On Sat, Apr 04, 2015 at 11:13:11PM +0400, Dmitry Monakhov wrote:
>> generic_write_checks now accept kiocb as an argument
>> Unfortunetly it is impossible to get rid of old interface because some crappy
>> do not support write_iter interface so leave __ge
generic_write_checks now accept kiocb as an argument
Unfortunetly it is impossible to get rid of old interface because some crappy
do not support write_iter interface so leave __generic_write_checks as backward
compatibility helper.
Signed-off-by: Dmitry Monakhov
---
include/linux/fs.h |8
1 - 100 of 249 matches
Mail list logo