Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-13550 osd-zfs: snapshot with incompatible clients
[fs/lustre-release.git]
/
lustre
/
fid
/
lproc_fid.c
diff --git
a/lustre/fid/lproc_fid.c
b/lustre/fid/lproc_fid.c
index
688082e
..
f4d9b6a
100644
(file)
--- a/
lustre/fid/lproc_fid.c
+++ b/
lustre/fid/lproc_fid.c
@@
-27,7
+27,6
@@
*/
/*
* This file is part of Lustre, http://www.lustre.org/
*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*
* lustre/fid/lproc_fid.c
*
*
* lustre/fid/lproc_fid.c
*
@@
-199,7
+198,7
@@
LDEBUGFS_SEQ_FOPS(ldebugfs_server_fid_space);
LDEBUGFS_SEQ_FOPS(ldebugfs_server_fid_width);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_server_fid_server);
LDEBUGFS_SEQ_FOPS(ldebugfs_server_fid_width);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_server_fid_server);
-struct l
proc
fs_vars seq_server_debugfs_list[] = {
+struct l
debug
fs_vars seq_server_debugfs_list[] = {
{ .name = "space",
.fops = &ldebugfs_server_fid_space_fops },
{ .name = "width",
{ .name = "space",
.fops = &ldebugfs_server_fid_space_fops },
{ .name = "width",
@@
-278,6
+277,7
@@
static void *fldb_seq_next(struct seq_file *p, void *v, loff_t *pos)
const struct dt_it_ops *iops;
int rc;
const struct dt_it_ops *iops;
int rc;
+ ++*pos;
if (param == NULL || param->fsp_stop)
return NULL;
if (param == NULL || param->fsp_stop)
return NULL;
@@
-326,7
+326,7
@@
static int fldb_seq_show(struct seq_file *p, void *v)
return rc;
}
return rc;
}
-struct seq_operations fldb_sops = {
+st
atic const st
ruct seq_operations fldb_sops = {
.start = fldb_seq_start,
.stop = fldb_seq_stop,
.next = fldb_seq_next,
.start = fldb_seq_start,
.stop = fldb_seq_stop,
.next = fldb_seq_next,
@@
-426,6
+426,7
@@
static ssize_t fldb_seq_write(struct file *file, const char __user *buf,
int rc = 0;
char _buffer[MAX_FID_RANGE_STRLEN];
char *buffer = _buffer;
int rc = 0;
char _buffer[MAX_FID_RANGE_STRLEN];
char *buffer = _buffer;
+ char *tmp;
ENTRY;
param = seq->private;
ENTRY;
param = seq->private;
@@
-446,23
+447,36
@@
static ssize_t fldb_seq_write(struct file *file, const char __user *buf,
GOTO(out, rc = -EINVAL);
buffer++;
GOTO(out, rc = -EINVAL);
buffer++;
-
range.lsr_start = simple_strtoull(buffer, &buffer, 0
);
- if (
*buffer != '-'
)
+
tmp = strchr(buffer, '-'
);
+ if (
!tmp
)
GOTO(out, rc = -EINVAL);
GOTO(out, rc = -EINVAL);
- buffer++;
+ *tmp++ = '\0';
+ rc = kstrtoull(buffer, 0, &range.lsr_start);
+ if (rc)
+ GOTO(out, rc);
+ buffer = tmp;
-
range.lsr_end = simple_strtoull(buffer, &buffer, 0
);
- if (
*buffer != ')'
)
+
tmp = strchr(buffer, ')'
);
+ if (
!tmp
)
GOTO(out, rc = -EINVAL);
GOTO(out, rc = -EINVAL);
- buffer++;
+ *tmp++ = '\0';
+ rc = kstrtoull(buffer, 0, &range.lsr_end);
+ if (rc)
+ GOTO(out, rc);
+ buffer = tmp;
+
if (*buffer != ':')
GOTO(out, rc = -EINVAL);
buffer++;
if (*buffer != ':')
GOTO(out, rc = -EINVAL);
buffer++;
-
range.lsr_index = simple_strtoul(buffer, &buffer, 0
);
- if (
*buffer != ':'
)
+
tmp = strchr(buffer, ':'
);
+ if (
!tmp
)
GOTO(out, rc = -EINVAL);
GOTO(out, rc = -EINVAL);
- buffer++;
+ *tmp++ = '\0';
+ rc = kstrtouint(buffer, 0, &range.lsr_index);
+ if (rc)
+ GOTO(out, rc);
+ buffer = tmp;
if (strncmp(buffer, "mdt", 3) == 0)
range.lsr_flags = LU_SEQ_RANGE_MDT;
if (strncmp(buffer, "mdt", 3) == 0)
range.lsr_flags = LU_SEQ_RANGE_MDT;
@@
-608,7
+622,7
@@
LDEBUGFS_SEQ_FOPS(ldebugfs_client_fid_width);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_client_fid_server);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_client_fid_fid);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_client_fid_server);
LDEBUGFS_SEQ_FOPS_RO(ldebugfs_client_fid_fid);
-struct l
proc
fs_vars seq_client_debugfs_list[] = {
+struct l
debug
fs_vars seq_client_debugfs_list[] = {
{ .name = "space",
.fops = &ldebugfs_client_fid_space_fops },
{ .name = "width",
{ .name = "space",
.fops = &ldebugfs_client_fid_space_fops },
{ .name = "width",