Ack.
Please, look at fuse ioctls. We have to intercept and implement in
kernel those of them,
which deal with CSes. I.e. PCS_IOC_NOCSUMONREAD and PCS_IOC_NOWRITEDELAY.
And also we must prohibit PCS_IOC_INIT_KDIRECT .. PCS_IOC_GETMAP passed
by user. Now user can screw up kio_pcs using these
This patch provides support PCS_FATTR_IMMEDIATE_WRITE attribute for KIO module.
#VSTOR-19324
Signed-off-by: Pavel Butsykin
---
fs/fuse/kio/pcs/pcs_cs.c | 3 ++-
fs/fuse/kio/pcs/pcs_prot_types.h | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git
In case PCS_FATTR_IMMEDIATE_WRITE attribute is set, all write operations must
be synchronous, although now it's not and there is only PCS_CS_WRITE_SYNC_REQ
for PCS_REQ_T_WRITE. Adding PCS_CS_IO_SYNC flag makes it possible to handle any
write request synchronously.
Signed-off-by: Pavel Butsykin
#VSTOR-19324
Pavel Butsykin (2):
fs/fuse kio: backport immediate-write attribute handle
fs/fuse kio: add support PCS_CS_IO_SYNC flag
fs/fuse/kio/pcs/pcs_cs.c | 6 +-
fs/fuse/kio/pcs/pcs_cs_prot.h| 4
fs/fuse/kio/pcs/pcs_prot_types.h | 3 +++
3 files changed, 12
Fallocate without mutex lock can race with setattr size request, as a result,
may be various problems, including incorrectly changed file size. At the same
time pure FALLOC_FL_KEEP_SIZE for vstorage is just nope, so we can immediately
complete fallocate with mode == FALLOC_FL_KEEP_SIZE. Also move