Author: kevans
Date: Fri Apr  6 19:21:36 2018
New Revision: 332138
URL: https://svnweb.freebsd.org/changeset/base/332138

Log:
  MFC r329879, r329892
  
  r329879:
  libsa: Const-ify buffer argument of write(2) analog
  
  r329892:
  libsa: Change write(2)-alike prototype to match definition
  
  Broken in r329879.
  
  Apparently old GCC detects this, but modern GCC didn't.  Mea culpa.

Modified:
  stable/11/stand/libsa/cd9660.c
  stable/11/stand/libsa/nfs.c
  stable/11/stand/libsa/nullfs.c
  stable/11/stand/libsa/stand.h
  stable/11/stand/libsa/tftp.c
  stable/11/stand/libsa/ufs.c
  stable/11/stand/libsa/write.c
  stable/11/stand/userboot/userboot/host.c
  stable/11/stand/zfs/zfs.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/stand/libsa/cd9660.c
==============================================================================
--- stable/11/stand/libsa/cd9660.c      Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/libsa/cd9660.c      Fri Apr  6 19:21:36 2018        
(r332138)
@@ -66,7 +66,7 @@ static int    cd9660_open(const char *path, struct open_f
 static int     cd9660_close(struct open_file *f);
 static int     cd9660_read(struct open_file *f, void *buf, size_t size,
                    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);
 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);
@@ -557,7 +557,8 @@ again:
 }
 
 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;
 }

Modified: stable/11/stand/libsa/nfs.c
==============================================================================
--- stable/11/stand/libsa/nfs.c Fri Apr  6 19:21:29 2018        (r332137)
+++ stable/11/stand/libsa/nfs.c Fri Apr  6 19:21:36 2018        (r332138)
@@ -126,7 +126,6 @@ struct nfs_iodesc {
 int            nfs_open(const char *path, 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_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 int     nfs_stat(struct open_file *f, struct stat *sb);
 static int     nfs_readdir(struct open_file *f, struct dirent *d);
@@ -138,7 +137,7 @@ struct fs_ops nfs_fsops = {
        nfs_open,
        nfs_close,
        nfs_read,
-       nfs_write,
+       null_write,
        nfs_seek,
        nfs_stat,
        nfs_readdir
@@ -713,15 +712,6 @@ ret:
                *resid = size;
 
        return (0);
-}
-
-/*
- * Not implemented.
- */
-int
-nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid)
-{
-       return (EROFS);
 }
 
 off_t

Modified: stable/11/stand/libsa/nullfs.c
==============================================================================
--- stable/11/stand/libsa/nullfs.c      Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/libsa/nullfs.c      Fri Apr  6 19:21:36 2018        
(r332138)
@@ -83,7 +83,7 @@ int   null_read (struct open_file *f, void *buf, size_t 
        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;
 }

Modified: stable/11/stand/libsa/stand.h
==============================================================================
--- stable/11/stand/libsa/stand.h       Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/libsa/stand.h       Fri Apr  6 19:21:36 2018        
(r332138)
@@ -105,7 +105,7 @@ struct fs_ops {
     int                (*fo_close)(struct open_file *f);
     int                (*fo_read)(struct open_file *f, void *buf,
                           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);
     off_t      (*fo_seek)(struct open_file *f, off_t offset, int where);
     int                (*fo_stat)(struct open_file *f, struct stat *sb);
@@ -289,7 +289,7 @@ extern int  open(const char *, int);
 extern int     close(int);
 extern void    closeall(void);
 extern ssize_t read(int, void *, size_t);
-extern ssize_t write(int, void *, size_t);
+extern ssize_t write(int, const void *, size_t);
 extern struct  dirent *readdirfd(int);
 
 extern void    srandom(u_long seed);
@@ -383,7 +383,7 @@ extern void nullsys(void);
 extern int     null_open(const char *path, 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_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 int     null_stat(struct open_file *f, struct stat *sb);
 extern int     null_readdir(struct open_file *f, struct dirent *d);

Modified: stable/11/stand/libsa/tftp.c
==============================================================================
--- stable/11/stand/libsa/tftp.c        Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/libsa/tftp.c        Fri Apr  6 19:21:36 2018        
(r332138)
@@ -69,7 +69,8 @@ static int    tftp_open(const char *path, struct open_fil
 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_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 int     tftp_set_blksize(struct tftp_handle *h, const char *str);
 static int     tftp_stat(struct open_file *f, struct stat *sb);
@@ -574,8 +575,8 @@ tftp_close(struct open_file *f)
 }
 
 static int
-tftp_write(struct open_file *f __unused, void *start __unused, size_t size 
__unused,
-    size_t *resid __unused /* out */)
+tftp_write(struct open_file *f __unused, const void *start __unused,
+    size_t size __unused, size_t *resid __unused /* out */)
 {
        return (EROFS);
 }

Modified: stable/11/stand/libsa/ufs.c
==============================================================================
--- stable/11/stand/libsa/ufs.c Fri Apr  6 19:21:29 2018        (r332137)
+++ stable/11/stand/libsa/ufs.c Fri Apr  6 19:21:36 2018        (r332138)
@@ -84,7 +84,8 @@ __FBSDID("$FreeBSD$");
 #include "string.h"
 
 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_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);
@@ -131,7 +132,7 @@ struct 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     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 *);
 
 /*
@@ -301,7 +302,7 @@ block_map(f, file_block, disk_block_p)
 static int
 buf_write_file(f, buf_p, size_p)
        struct open_file *f;
-       char *buf_p;
+       const char *buf_p;
        size_t *size_p;         /* out */
 {
        struct file *fp = (struct file *)f->f_fsdata;
@@ -764,14 +765,14 @@ ufs_read(f, start, size, resid)
 static int
 ufs_write(f, start, size, resid)
        struct open_file *f;
-       void *start;
+       const void *start;
        size_t size;
        size_t *resid;  /* out */
 {
        struct file *fp = (struct file *)f->f_fsdata;
        size_t csize;
        int rc = 0;
-       char *addr = start;
+       const char *addr = start;
 
        csize = size;
        while ((size != 0) && (csize != 0)) {

Modified: stable/11/stand/libsa/write.c
==============================================================================
--- stable/11/stand/libsa/write.c       Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/libsa/write.c       Fri Apr  6 19:21:36 2018        
(r332138)
@@ -69,7 +69,7 @@ __FBSDID("$FreeBSD$");
 ssize_t
 write(fd, dest, bcount)
        int fd;
-       void *dest;
+       const void *dest;
        size_t bcount;
 {
        struct open_file *f = &files[fd];
@@ -82,7 +82,8 @@ write(fd, dest, bcount)
        if (f->f_flags & F_RAW) {
                twiddle(4);
                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)
                        return (-1);
                f->f_offset += resid;

Modified: stable/11/stand/userboot/userboot/host.c
==============================================================================
--- stable/11/stand/userboot/userboot/host.c    Fri Apr  6 19:21:29 2018        
(r332137)
+++ stable/11/stand/userboot/userboot/host.c    Fri Apr  6 19:21:36 2018        
(r332138)
@@ -74,16 +74,6 @@ host_read(struct open_file *f, void *start, size_t siz
        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
 host_seek(struct open_file *f, off_t offset, int where)
 {
@@ -183,7 +173,7 @@ struct fs_ops host_fsops = {
        host_open,
        host_close,
        host_read,
-       host_write,
+       null_write,
        host_seek,
        host_stat,
        host_readdir

Modified: stable/11/stand/zfs/zfs.c
==============================================================================
--- stable/11/stand/zfs/zfs.c   Fri Apr  6 19:21:29 2018        (r332137)
+++ stable/11/stand/zfs/zfs.c   Fri Apr  6 19:21:36 2018        (r332138)
@@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
 #define                ZFS_BE_LAST     8
 
 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_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);
@@ -67,7 +66,7 @@ struct fs_ops zfs_fsops = {
        zfs_open,
        zfs_close,
        zfs_read,
-       zfs_write,
+       null_write,
        zfs_seek,
        zfs_stat,
        zfs_readdir
@@ -169,16 +168,6 @@ zfs_read(struct open_file *f, void *start, size_t size
                *resid = size - n;
 
        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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to