summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-05-28 10:49:51 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-05-28 10:51:19 +0200
commit49de4585a650c5e70cace733cb466fd007526f80 (patch)
treee130b9f9bfaf4f0532e1a062f40bc8e12f9265f7
parenta04c7bf83172faa7cb080fbe3b6c04a8415ca645 (diff)
libdiskfs,libnetfs: add missing io_pathconf cases
* libdiskfs/io-pathconf.c (diskfs_S_io_pathconf): For _PC_REC_MAX_XFER_SIZE, _PC_REC_INCR_XFER_SIZE, _PC_SYMLINK_MAX, return undefined. For _PC_2_SYMLINKS, return 1. For _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, return page size. * libnetfs/io-pathconf.c (netfs_S_io_pathconf): Likewise.
-rw-r--r--libdiskfs/io-pathconf.c10
-rw-r--r--libnetfs/io-pathconf.c10
2 files changed, 20 insertions, 0 deletions
diff --git a/libdiskfs/io-pathconf.c b/libdiskfs/io-pathconf.c
index 38e277c3..7b6ff7fb 100644
--- a/libdiskfs/io-pathconf.c
+++ b/libdiskfs/io-pathconf.c
@@ -42,6 +42,9 @@ diskfs_S_io_pathconf (struct protid *cred,
case _PC_VDISABLE:
case _PC_SOCK_MAXBUF:
case _PC_PATH_MAX:
+ case _PC_REC_MAX_XFER_SIZE:
+ case _PC_REC_INCR_XFER_SIZE:
+ case _PC_SYMLINK_MAX:
*value = -1;
break;
@@ -55,6 +58,7 @@ diskfs_S_io_pathconf (struct protid *cred,
break;
case _PC_NO_TRUNC: /* enforced in diskfs_lookup */
+ case _PC_2_SYMLINKS:
*value = 1; /* diskfs_name_max >= 0; */ /* see above */
break;
@@ -72,6 +76,12 @@ diskfs_S_io_pathconf (struct protid *cred,
*value = 32;
break;
+ case _PC_REC_MIN_XFER_SIZE:
+ case _PC_REC_XFER_ALIGN:
+ case _PC_ALLOC_SIZE_MIN:
+ *value = vm_page_size;
+ break;
+
default:
return EINVAL;
}
diff --git a/libnetfs/io-pathconf.c b/libnetfs/io-pathconf.c
index 2fd3f5bc..0791243e 100644
--- a/libnetfs/io-pathconf.c
+++ b/libnetfs/io-pathconf.c
@@ -40,6 +40,9 @@ netfs_S_io_pathconf (struct protid *user,
case _PC_VDISABLE:
case _PC_SOCK_MAXBUF:
case _PC_PATH_MAX:
+ case _PC_REC_MAX_XFER_SIZE:
+ case _PC_REC_INCR_XFER_SIZE:
+ case _PC_SYMLINK_MAX:
*value = -1;
break;
@@ -49,6 +52,7 @@ netfs_S_io_pathconf (struct protid *user,
case _PC_CHOWN_RESTRICTED:
case _PC_NO_TRUNC: /* look at string_t trunc behavior in MiG */
+ case _PC_2_SYMLINKS:
*value = 1;
break;
@@ -62,6 +66,12 @@ netfs_S_io_pathconf (struct protid *user,
*value = 32;
break;
+ case _PC_REC_MIN_XFER_SIZE:
+ case _PC_REC_XFER_ALIGN:
+ case _PC_ALLOC_SIZE_MIN:
+ *value = vm_page_size;
+ break;
+
default:
return EINVAL;
}