libsa: Const-ify buffer argument of write(2) analog

Reported by:	kevans
Reviewed by:	delphij, eadler, imp, kevans
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D14482
This commit is contained in:
Conrad Meyer 2018-02-23 20:18:09 +00:00
parent 849ce31a82
commit 2e7e6fbce5
9 changed files with 22 additions and 49 deletions

View File

@ -66,7 +66,7 @@ static int cd9660_open(const char *path, struct open_file *f);
static int cd9660_close(struct open_file *f); static int cd9660_close(struct open_file *f);
static int cd9660_read(struct open_file *f, void *buf, size_t size, static int cd9660_read(struct open_file *f, void *buf, size_t size,
size_t *resid); size_t *resid);
static int cd9660_write(struct open_file *f, void *buf, size_t size, static int cd9660_write(struct open_file *f, const void *buf, size_t size,
size_t *resid); size_t *resid);
static off_t cd9660_seek(struct open_file *f, off_t offset, int where); static off_t cd9660_seek(struct open_file *f, off_t offset, int where);
static int cd9660_stat(struct open_file *f, struct stat *sb); static int cd9660_stat(struct open_file *f, struct stat *sb);
@ -557,7 +557,8 @@ again:
} }
static int static int
cd9660_write(struct open_file *f __unused, void *start __unused, size_t size __unused, size_t *resid __unused) cd9660_write(struct open_file *f __unused, const void *buf __unused,
size_t size __unused, size_t *resid __unused)
{ {
return EROFS; return EROFS;
} }

View File

@ -126,7 +126,6 @@ struct nfs_iodesc {
int nfs_open(const char *path, struct open_file *f); int nfs_open(const char *path, struct open_file *f);
static int nfs_close(struct open_file *f); static int nfs_close(struct open_file *f);
static int nfs_read(struct open_file *f, void *buf, size_t size, size_t *resid); static int nfs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static int nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t nfs_seek(struct open_file *f, off_t offset, int where); static off_t nfs_seek(struct open_file *f, off_t offset, int where);
static int nfs_stat(struct open_file *f, struct stat *sb); static int nfs_stat(struct open_file *f, struct stat *sb);
static int nfs_readdir(struct open_file *f, struct dirent *d); static int nfs_readdir(struct open_file *f, struct dirent *d);
@ -138,7 +137,7 @@ struct fs_ops nfs_fsops = {
nfs_open, nfs_open,
nfs_close, nfs_close,
nfs_read, nfs_read,
nfs_write, null_write,
nfs_seek, nfs_seek,
nfs_stat, nfs_stat,
nfs_readdir nfs_readdir
@ -715,15 +714,6 @@ ret:
return (0); return (0);
} }
/*
* Not implemented.
*/
int
nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid)
{
return (EROFS);
}
off_t off_t
nfs_seek(struct open_file *f, off_t offset, int where) nfs_seek(struct open_file *f, off_t offset, int where)
{ {

View File

@ -83,7 +83,7 @@ int null_read (struct open_file *f, void *buf, size_t size, size_t *resid)
return EIO; return EIO;
} }
int null_write (struct open_file *f, void *buf, size_t size, size_t *resid) int null_write (struct open_file *f, const void *buf, size_t size, size_t *resid)
{ {
return EIO; return EIO;
} }

View File

@ -105,7 +105,7 @@ struct fs_ops {
int (*fo_close)(struct open_file *f); int (*fo_close)(struct open_file *f);
int (*fo_read)(struct open_file *f, void *buf, int (*fo_read)(struct open_file *f, void *buf,
size_t size, size_t *resid); size_t size, size_t *resid);
int (*fo_write)(struct open_file *f, void *buf, int (*fo_write)(struct open_file *f, const void *buf,
size_t size, size_t *resid); size_t size, size_t *resid);
off_t (*fo_seek)(struct open_file *f, off_t offset, int where); off_t (*fo_seek)(struct open_file *f, off_t offset, int where);
int (*fo_stat)(struct open_file *f, struct stat *sb); int (*fo_stat)(struct open_file *f, struct stat *sb);
@ -383,7 +383,7 @@ extern void nullsys(void);
extern int null_open(const char *path, struct open_file *f); extern int null_open(const char *path, struct open_file *f);
extern int null_close(struct open_file *f); extern int null_close(struct open_file *f);
extern int null_read(struct open_file *f, void *buf, size_t size, size_t *resid); extern int null_read(struct open_file *f, void *buf, size_t size, size_t *resid);
extern int null_write(struct open_file *f, void *buf, size_t size, size_t *resid); extern int null_write(struct open_file *f, const void *buf, size_t size, size_t *resid);
extern off_t null_seek(struct open_file *f, off_t offset, int where); extern off_t null_seek(struct open_file *f, off_t offset, int where);
extern int null_stat(struct open_file *f, struct stat *sb); extern int null_stat(struct open_file *f, struct stat *sb);
extern int null_readdir(struct open_file *f, struct dirent *d); extern int null_readdir(struct open_file *f, struct dirent *d);

View File

@ -69,7 +69,8 @@ static int tftp_open(const char *path, struct open_file *f);
static int tftp_close(struct open_file *f); static int tftp_close(struct open_file *f);
static int tftp_parse_oack(struct tftp_handle *h, char *buf, size_t len); static int tftp_parse_oack(struct tftp_handle *h, char *buf, size_t len);
static int tftp_read(struct open_file *f, void *buf, size_t size, size_t *resid); static int tftp_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static int tftp_write(struct open_file *f, void *buf, size_t size, size_t *resid); static int tftp_write(struct open_file *f, const void *buf, size_t size,
size_t *resid);
static off_t tftp_seek(struct open_file *f, off_t offset, int where); static off_t tftp_seek(struct open_file *f, off_t offset, int where);
static int tftp_set_blksize(struct tftp_handle *h, const char *str); static int tftp_set_blksize(struct tftp_handle *h, const char *str);
static int tftp_stat(struct open_file *f, struct stat *sb); static int tftp_stat(struct open_file *f, struct stat *sb);
@ -574,8 +575,8 @@ tftp_close(struct open_file *f)
} }
static int static int
tftp_write(struct open_file *f __unused, void *start __unused, size_t size __unused, tftp_write(struct open_file *f __unused, const void *start __unused,
size_t *resid __unused /* out */) size_t size __unused, size_t *resid __unused /* out */)
{ {
return (EROFS); return (EROFS);
} }

View File

@ -84,7 +84,8 @@ __FBSDID("$FreeBSD$");
#include "string.h" #include "string.h"
static int ufs_open(const char *path, struct open_file *f); static int ufs_open(const char *path, struct open_file *f);
static int ufs_write(struct open_file *f, void *buf, size_t size, size_t *resid); static int ufs_write(struct open_file *f, const void *buf, size_t size,
size_t *resid);
static int ufs_close(struct open_file *f); static int ufs_close(struct open_file *f);
static int ufs_read(struct open_file *f, void *buf, size_t size, size_t *resid); static int ufs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t ufs_seek(struct open_file *f, off_t offset, int where); static off_t ufs_seek(struct open_file *f, off_t offset, int where);
@ -131,7 +132,7 @@ struct file {
static int read_inode(ino_t, struct open_file *); static int read_inode(ino_t, struct open_file *);
static int block_map(struct open_file *, ufs2_daddr_t, ufs2_daddr_t *); static int block_map(struct open_file *, ufs2_daddr_t, ufs2_daddr_t *);
static int buf_read_file(struct open_file *, char **, size_t *); static int buf_read_file(struct open_file *, char **, size_t *);
static int buf_write_file(struct open_file *, char *, size_t *); static int buf_write_file(struct open_file *, const char *, size_t *);
static int search_directory(char *, struct open_file *, ino_t *); static int search_directory(char *, struct open_file *, ino_t *);
static int ufs_use_sa_read(void *, off_t, void **, int); static int ufs_use_sa_read(void *, off_t, void **, int);
@ -306,7 +307,7 @@ block_map(f, file_block, disk_block_p)
static int static int
buf_write_file(f, buf_p, size_p) buf_write_file(f, buf_p, size_p)
struct open_file *f; struct open_file *f;
char *buf_p; const char *buf_p;
size_t *size_p; /* out */ size_t *size_p; /* out */
{ {
struct file *fp = (struct file *)f->f_fsdata; struct file *fp = (struct file *)f->f_fsdata;
@ -770,14 +771,14 @@ ufs_read(f, start, size, resid)
static int static int
ufs_write(f, start, size, resid) ufs_write(f, start, size, resid)
struct open_file *f; struct open_file *f;
void *start; const void *start;
size_t size; size_t size;
size_t *resid; /* out */ size_t *resid; /* out */
{ {
struct file *fp = (struct file *)f->f_fsdata; struct file *fp = (struct file *)f->f_fsdata;
size_t csize; size_t csize;
int rc = 0; int rc = 0;
char *addr = start; const char *addr = start;
csize = size; csize = size;
while ((size != 0) && (csize != 0)) { while ((size != 0) && (csize != 0)) {

View File

@ -69,7 +69,7 @@ __FBSDID("$FreeBSD$");
ssize_t ssize_t
write(fd, dest, bcount) write(fd, dest, bcount)
int fd; int fd;
void *dest; const void *dest;
size_t bcount; size_t bcount;
{ {
struct open_file *f = &files[fd]; struct open_file *f = &files[fd];
@ -82,7 +82,8 @@ write(fd, dest, bcount)
if (f->f_flags & F_RAW) { if (f->f_flags & F_RAW) {
twiddle(4); twiddle(4);
errno = (f->f_dev->dv_strategy)(f->f_devdata, F_WRITE, errno = (f->f_dev->dv_strategy)(f->f_devdata, F_WRITE,
btodb(f->f_offset), bcount, dest, &resid); btodb(f->f_offset), bcount, __DECONST(void *, dest),
&resid);
if (errno) if (errno)
return (-1); return (-1);
f->f_offset += resid; f->f_offset += resid;

View File

@ -74,16 +74,6 @@ host_read(struct open_file *f, void *start, size_t size, size_t *resid)
return (CALLBACK(read, f->f_fsdata, start, size, resid)); return (CALLBACK(read, f->f_fsdata, start, size, resid));
} }
/*
* Don't be silly - the bootstrap has no business writing anything.
*/
static int
host_write(struct open_file *f, void *start, size_t size, size_t *resid)
{
return (EROFS);
}
static off_t static off_t
host_seek(struct open_file *f, off_t offset, int where) host_seek(struct open_file *f, off_t offset, int where)
{ {
@ -183,7 +173,7 @@ struct fs_ops host_fsops = {
host_open, host_open,
host_close, host_close,
host_read, host_read,
host_write, null_write,
host_seek, host_seek,
host_stat, host_stat,
host_readdir host_readdir

View File

@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
#define ZFS_BE_LAST 8 #define ZFS_BE_LAST 8
static int zfs_open(const char *path, struct open_file *f); static int zfs_open(const char *path, struct open_file *f);
static int zfs_write(struct open_file *f, void *buf, size_t size, size_t *resid);
static int zfs_close(struct open_file *f); static int zfs_close(struct open_file *f);
static int zfs_read(struct open_file *f, void *buf, size_t size, size_t *resid); static int zfs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t zfs_seek(struct open_file *f, off_t offset, int where); static off_t zfs_seek(struct open_file *f, off_t offset, int where);
@ -69,7 +68,7 @@ struct fs_ops zfs_fsops = {
zfs_open, zfs_open,
zfs_close, zfs_close,
zfs_read, zfs_read,
zfs_write, null_write,
zfs_seek, zfs_seek,
zfs_stat, zfs_stat,
zfs_readdir zfs_readdir
@ -173,16 +172,6 @@ zfs_read(struct open_file *f, void *start, size_t size, size_t *resid /* out */)
return (0); return (0);
} }
/*
* Don't be silly - the bootstrap has no business writing anything.
*/
static int
zfs_write(struct open_file *f, void *start, size_t size, size_t *resid /* out */)
{
return (EROFS);
}
static off_t static off_t
zfs_seek(struct open_file *f, off_t offset, int where) zfs_seek(struct open_file *f, off_t offset, int where)
{ {