tlib9: do not fetch disk size for character devices - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 3a62e5630748d788166a50ed34b7f0dc6d43a5ee
 (DIR) parent 6c17f630901eec2a4b54b70748d7fbc9b47eecd8
 (HTM) Author: Russ Cox <rsc@swtch.com>
       Date:   Mon, 13 Jan 2020 19:30:02 -0500
       
       lib9: do not fetch disk size for character devices
       
       Real disk devices should be block devices anyway.
       One user reported the disksize check causing a
       system reboot during vac of a tree with an "interesting"
       device.
       
       Fixes #103.
       
       Diffstat:
         M src/lib9/_p9dir.c                   |       2 +-
       
       1 file changed, 1 insertion(+), 1 deletion(-)
       ---
 (DIR) diff --git a/src/lib9/_p9dir.c b/src/lib9/_p9dir.c
       t@@ -230,7 +230,7 @@ _p9dir(struct stat *lst, struct stat *st, char *name, Dir *d, char **str, char *
                                d->qid.path = ('c'<<16)|st->st_rdev;
                        }
                        /* fetch real size for disks */
       -                if(S_ISBLK(lst->st_mode) || S_ISCHR(lst->st_mode)){
       +                if(S_ISBLK(lst->st_mode)){
                                if((fd = open(name, O_RDONLY)) >= 0){
                                        d->length = disksize(fd, st);
                                        close(fd);