From owner-freebsd-arch Tue Jan 15 2:56:50 2002 Delivered-To: freebsd-arch@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 82C7737B402 for ; Tue, 15 Jan 2002 02:56:47 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id g0FArkU19070; Tue, 15 Jan 2002 11:53:46 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Max Khon Cc: arch@FreeBSD.ORG Subject: Re: request for review In-Reply-To: Your message of "Tue, 15 Jan 2002 03:19:01 +0600." <20020115031901.A99067@iclub.nsu.ru> Date: Tue, 15 Jan 2002 11:53:46 +0100 Message-ID: <19068.1011092026@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I think it is bogus for devices other than disks to flout a va_blocksize, but I am on the other hand not sure what the relevant (if any) standards say. If this patch makes things better, I'm all for it. Poul-Henning In message <20020115031901.A99067@iclub.nsu.ru>, Max Khon writes: > >--qDbXVdCdHGoSgWSk >Content-Type: text/plain; charset=us-ascii >Content-Disposition: inline > >hi, there! > >please review attached patch. it should fix `diff' when one of the >compared files is a tty (e.g. 'diff -u - /etc/motd'). >The problem is that fstat(0, &s) returns s.st_blocksize == 0 in this case >and this breaks `diff'. > >I do not know if this is correct fix (should `diff' be fixed instead?) >but under OpenBSD 2.9 and Linux 2.2.x non-zero values are returned. > >/fjoe > >--qDbXVdCdHGoSgWSk >Content-Type: text/plain; charset=us-ascii >Content-Disposition: attachment; filename="vfs_vnops.c.diff" > >? current-diffs >Index: vfs_vnops.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/vfs_vnops.c,v >retrieving revision 1.125 >diff -u -p -r1.125 vfs_vnops.c >--- vfs_vnops.c 18 Dec 2001 20:48:54 -0000 1.125 >+++ vfs_vnops.c 14 Jan 2002 18:04:45 -0000 >@@ -579,6 +579,8 @@ vn_stat(vp, sb, td) > sb->st_blksize = vp->v_rdev->si_bsize_phys; > if (sb->st_blksize < BLKDEV_IOSIZE) > sb->st_blksize = BLKDEV_IOSIZE; >+ } else if (vap->va_type == VCHR) { >+ sb->st_blksize = vap->va_blocksize; > } else { > sb->st_blksize = 0; > } > >--qDbXVdCdHGoSgWSk-- > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-arch" in the body of the message > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message