summaryrefslogtreecommitdiff
path: root/libdiskfs
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 /libdiskfs
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.
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/io-pathconf.c10
1 files changed, 10 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;
}