Loading fs/orangefs/file.c +8 −5 Original line number Diff line number Diff line Loading @@ -624,11 +624,14 @@ static int orangefs_file_release(struct inode *inode, struct file *file) if (file->f_path.dentry->d_inode && file->f_path.dentry->d_inode->i_mapping && mapping_nrpages(&file->f_path.dentry->d_inode->i_data)) { if (orangefs_features & ORANGEFS_FEATURE_READAHEAD) { gossip_debug(GOSSIP_INODE_DEBUG, "calling flush_racache on %pU\n", get_khandle_from_ino(inode)); flush_racache(inode); gossip_debug(GOSSIP_INODE_DEBUG, "flush_racache finished\n"); gossip_debug(GOSSIP_INODE_DEBUG, "flush_racache finished\n"); } truncate_inode_pages(file->f_path.dentry->d_inode->i_mapping, 0); } Loading fs/orangefs/orangefs-sysfs.c +19 −0 Original line number Diff line number Diff line Loading @@ -842,6 +842,16 @@ static int sysfs_service_op_show(char *kobj_id, char *buf, void *attr) if (!strcmp(kobj_id, ORANGEFS_KOBJ_ID)) { orangefs_attr = (struct orangefs_attribute *)attr; /* Drop unsupported requests first. */ if (!(orangefs_features & ORANGEFS_FEATURE_READAHEAD) && (!strcmp(orangefs_attr->attr.name, "readahead_count") || !strcmp(orangefs_attr->attr.name, "readahead_size") || !strcmp(orangefs_attr->attr.name, "readahead_count_size"))) { rc = -EINVAL; goto out; } if (!strcmp(orangefs_attr->attr.name, "perf_history_size")) new_op->upcall.req.param.op = ORANGEFS_PARAM_REQUEST_OP_PERF_HISTORY_SIZE; Loading Loading @@ -1133,6 +1143,15 @@ static int sysfs_service_op_store(char *kobj_id, const char *buf, void *attr) if (!strcmp(kobj_id, ORANGEFS_KOBJ_ID)) { orangefs_attr = (struct orangefs_attribute *)attr; /* Drop unsupported requests first. */ if (!(orangefs_features & ORANGEFS_FEATURE_READAHEAD) && (!strcmp(orangefs_attr->attr.name, "readahead_count") || !strcmp(orangefs_attr->attr.name, "readahead_size") || !strcmp(orangefs_attr->attr.name, "readahead_count_size"))) { rc = -EINVAL; goto out; } if (!strcmp(orangefs_attr->attr.name, "perf_history_size")) { if (val > 0) { Loading Loading
fs/orangefs/file.c +8 −5 Original line number Diff line number Diff line Loading @@ -624,11 +624,14 @@ static int orangefs_file_release(struct inode *inode, struct file *file) if (file->f_path.dentry->d_inode && file->f_path.dentry->d_inode->i_mapping && mapping_nrpages(&file->f_path.dentry->d_inode->i_data)) { if (orangefs_features & ORANGEFS_FEATURE_READAHEAD) { gossip_debug(GOSSIP_INODE_DEBUG, "calling flush_racache on %pU\n", get_khandle_from_ino(inode)); flush_racache(inode); gossip_debug(GOSSIP_INODE_DEBUG, "flush_racache finished\n"); gossip_debug(GOSSIP_INODE_DEBUG, "flush_racache finished\n"); } truncate_inode_pages(file->f_path.dentry->d_inode->i_mapping, 0); } Loading
fs/orangefs/orangefs-sysfs.c +19 −0 Original line number Diff line number Diff line Loading @@ -842,6 +842,16 @@ static int sysfs_service_op_show(char *kobj_id, char *buf, void *attr) if (!strcmp(kobj_id, ORANGEFS_KOBJ_ID)) { orangefs_attr = (struct orangefs_attribute *)attr; /* Drop unsupported requests first. */ if (!(orangefs_features & ORANGEFS_FEATURE_READAHEAD) && (!strcmp(orangefs_attr->attr.name, "readahead_count") || !strcmp(orangefs_attr->attr.name, "readahead_size") || !strcmp(orangefs_attr->attr.name, "readahead_count_size"))) { rc = -EINVAL; goto out; } if (!strcmp(orangefs_attr->attr.name, "perf_history_size")) new_op->upcall.req.param.op = ORANGEFS_PARAM_REQUEST_OP_PERF_HISTORY_SIZE; Loading Loading @@ -1133,6 +1143,15 @@ static int sysfs_service_op_store(char *kobj_id, const char *buf, void *attr) if (!strcmp(kobj_id, ORANGEFS_KOBJ_ID)) { orangefs_attr = (struct orangefs_attribute *)attr; /* Drop unsupported requests first. */ if (!(orangefs_features & ORANGEFS_FEATURE_READAHEAD) && (!strcmp(orangefs_attr->attr.name, "readahead_count") || !strcmp(orangefs_attr->attr.name, "readahead_size") || !strcmp(orangefs_attr->attr.name, "readahead_count_size"))) { rc = -EINVAL; goto out; } if (!strcmp(orangefs_attr->attr.name, "perf_history_size")) { if (val > 0) { Loading