fs/fuse kio: add warning about jumbo chunks

Submitted by Pavel Butsykin on Feb. 12, 2019, 2:20 p.m.

Details

Message ID 20190212142021.2751-1-pbutsykin@virtuozzo.com
State New
Series "fs/fuse kio: add warning about jumbo chunks"
Headers show

Commit Message

Pavel Butsykin Feb. 12, 2019, 2:20 p.m.
KIO doesn't support jumbo chunks yet, so all requests to jumbo chunks are
silently redirected to user-space. It will be useful to see a message about
this until support has been added to KIO.

#VSTOR-20372

Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
---
 fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 3 +++
 fs/fuse/kio/pcs/pcs_mds_prot.h     | 2 ++
 2 files changed, 5 insertions(+)

Patch hide | download patch | download mbox

diff --git a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
index 3ca1ce2d6bd5..466380c6e945 100644
--- a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
+++ b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
@@ -319,6 +319,9 @@  static int kpcs_do_file_open(struct fuse_conn *fc, struct file *file, struct ino
 
 	if (info.sys.map_type != PCS_MAP_PLAIN) {
 		TRACE("Unsupported map_type:%x, ignore\n", info.sys.map_type);
+
+		if (info.sys.map_type & PCS_JUMBO_CHUNK_FLAG)
+			pr_warn_once("kio: fpath doesn't support jumbo chunks\n");
 		return 0;
 	}
 
diff --git a/fs/fuse/kio/pcs/pcs_mds_prot.h b/fs/fuse/kio/pcs/pcs_mds_prot.h
index 80c20fde1537..4aca1e970170 100644
--- a/fs/fuse/kio/pcs/pcs_mds_prot.h
+++ b/fs/fuse/kio/pcs/pcs_mds_prot.h
@@ -259,6 +259,8 @@  enum
 	PCS_MAP_LS = PCS_MAP_COMBINED, /* Log structured storage */
 };
 
+#define PCS_JUMBO_CHUNK_FLAG (1ULL << 63) /* Chunks size > 4G */
+
 /* Max inline file size */
 #define PCS_MAX_INLINE_SIZE 0x100000 /* 1Mb */
 

Comments

Pavel Butsykin Feb. 12, 2019, 2:22 p.m.
pls, ignore this.

On 12.02.2019 17:20, Pavel Butsykin wrote:
> KIO doesn't support jumbo chunks yet, so all requests to jumbo chunks are
> silently redirected to user-space. It will be useful to see a message about
> this until support has been added to KIO.
> 
> #VSTOR-20372
> 
> Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
> ---
>   fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 3 +++
>   fs/fuse/kio/pcs/pcs_mds_prot.h     | 2 ++
>   2 files changed, 5 insertions(+)
> 
> diff --git a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> index 3ca1ce2d6bd5..466380c6e945 100644
> --- a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> +++ b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> @@ -319,6 +319,9 @@ static int kpcs_do_file_open(struct fuse_conn *fc, struct file *file, struct ino
>   
>   	if (info.sys.map_type != PCS_MAP_PLAIN) {
>   		TRACE("Unsupported map_type:%x, ignore\n", info.sys.map_type);
> +
> +		if (info.sys.map_type & PCS_JUMBO_CHUNK_FLAG)
> +			pr_warn_once("kio: fpath doesn't support jumbo chunks\n");
>   		return 0;
>   	}
>   
> diff --git a/fs/fuse/kio/pcs/pcs_mds_prot.h b/fs/fuse/kio/pcs/pcs_mds_prot.h
> index 80c20fde1537..4aca1e970170 100644
> --- a/fs/fuse/kio/pcs/pcs_mds_prot.h
> +++ b/fs/fuse/kio/pcs/pcs_mds_prot.h
> @@ -259,6 +259,8 @@ enum
>   	PCS_MAP_LS = PCS_MAP_COMBINED, /* Log structured storage */
>   };
>   
> +#define PCS_JUMBO_CHUNK_FLAG (1ULL << 63) /* Chunks size > 4G */
> +
>   /* Max inline file size */
>   #define PCS_MAX_INLINE_SIZE 0x100000 /* 1Mb */
>   
>