diff options
author | Sage Weil <sage@newdream.net> | 2011-05-12 14:28:05 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-05-19 11:25:02 -0700 |
commit | ae598083015e22d1802617c18d3408971b1bddc0 (patch) | |
tree | 3aba3bf823153f0e9fd8a8748b1acfdc5ab10e34 /fs/ceph/dir.c | |
parent | e8f54ce169125a2e59330fac25ad3c9ac0ce22a5 (diff) | |
download | talos-op-linux-ae598083015e22d1802617c18d3408971b1bddc0.tar.gz talos-op-linux-ae598083015e22d1802617c18d3408971b1bddc0.zip |
ceph: use snprintf for dirstat content
We allocate a buffer for rstats if the dirstat option is enabled. Use
snprintf.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/dir.c')
-rw-r--r-- | fs/ceph/dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 1a867a3601ae..53a5eb417856 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1066,16 +1066,17 @@ static ssize_t ceph_read_dir(struct file *file, char __user *buf, size_t size, struct inode *inode = file->f_dentry->d_inode; struct ceph_inode_info *ci = ceph_inode(inode); int left; + const int bufsize = 1024; if (!ceph_test_mount_opt(ceph_sb_to_client(inode->i_sb), DIRSTAT)) return -EISDIR; if (!cf->dir_info) { - cf->dir_info = kmalloc(1024, GFP_NOFS); + cf->dir_info = kmalloc(bufsize, GFP_NOFS); if (!cf->dir_info) return -ENOMEM; cf->dir_info_len = - sprintf(cf->dir_info, + snprintf(cf->dir_info, bufsize, "entries: %20lld\n" " files: %20lld\n" " subdirs: %20lld\n" |