[Devel] [PATCH RHEL7 COMMIT] fuse kio_pcs: ignore special inodes
Konstantin Khorenko
khorenko at virtuozzo.com
Tue Feb 27 18:29:26 MSK 2018
The commit is pushed to "branch-rh7-3.10.0-693.17.1.vz7.45.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-693.17.1.vz7.45.5
------>
commit 6f8bb26a2e103b8a93ae1eefb3a094e486472d03
Author: Dmitry Monakhov <dmonakhov at openvz.org>
Date: Tue Feb 27 18:29:11 2018 +0300
fuse kio_pcs: ignore special inodes
Special inodes has no kdirect context and should be ignored.
https://pmc.acronis.com/browse/VSTOR-8078
Signed-off-by: Dmitry Monakhov <dmonakhov at openvz.org>
---
fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
index 35b309e392c8..b8503d55e246 100644
--- a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
+++ b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
@@ -899,13 +899,17 @@ static int kpcs_req_send(struct fuse_conn* fc, struct fuse_req *req, bool bg, bo
case FUSE_SETATTR: {
struct pcs_fuse_req *r = pcs_req_from_fuse(req);
struct fuse_setattr_in *inarg = (void*) req->in.args[0].value;
- struct pcs_dentry_info *di = pcs_inode_from_fuse(fi);
+ struct pcs_dentry_info *di;
int shrink = 0;
- if (!(inarg->valid & FATTR_SIZE))
+ /* Skip speciall inodes */
+ if (!fi->private)
return 1;
+ if (!(inarg->valid & FATTR_SIZE))
+ return 1;
+ di = pcs_inode_from_fuse(fi);
spin_lock(&di->lock);
if (inarg->size < di->fileinfo.attr.size) {
BUG_ON(di->size.shrink);
More information about the Devel
mailing list