From owner-freebsd-stable@FreeBSD.ORG Wed Jul 2 05:22:43 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4BB0C37B401 for ; Wed, 2 Jul 2003 05:22:43 -0700 (PDT) Received: from ruff.infosec.ru (ruff.infosec.ru [194.226.94.211]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4323144011 for ; Wed, 2 Jul 2003 05:22:42 -0700 (PDT) (envelope-from blaze@infosec.ru) Received: from nt_server.infosec.ru (nt_server.infosec.ru [200.0.0.5]) by ruff.infosec.ru (Postfix) with ESMTP id 4C2DCBC21 for ; Wed, 2 Jul 2003 16:23:00 +0400 (MSD) Received: from cubesrv (unverified) by nt_server.infosec.ru for ; Wed, 2 Jul 2003 16:23:05 +0400 From: "Andrey Sverdlichenko" To: Date: Wed, 2 Jul 2003 16:23:00 +0400 Message-ID: <2098E9F95A6DFA4D8FE8B6BE30B62E087C187A@nt_server.infosec.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.4024 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal Subject: msdosfs bug? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jul 2003 12:22:43 -0000 Hello. After running this program with msdosfs mounted in /mnt, I got a file with some garbage in skipped space. Is it a bug in my local installation/hardware or real kernel bug? FreeBSD xen.infosec.ru 4.8-RELEASE FreeBSD 4.8-RELEASE #0: Thu Apr 17 16:53:27 MSD 2003 root@xen.infosec.ru:/usr/src/sys/compile/XEN i386 #include #include int main(void) { char buf[100] = "placeholder"; off_t pos; int handle = open("/mnt/foo", O_RDWR | O_CREAT | O_TRUNC, 0664); if (handle == -1) return 1; pos = lseek(handle, 1024 * 16 - 100, SEEK_SET); if (pos != 1024 * 16 - 100) return 1; if (write(handle, buf, 100) != 100) return 1; if (close(handle)) return 1; return 0; }