From owner-freebsd-questions Thu May 23 11:40: 5 2002 Delivered-To: freebsd-questions@freebsd.org Received: from serv.iaas.msu.ru (serv.iaas.msu.ru [212.192.224.252]) by hub.freebsd.org (Postfix) with ESMTP id 62BEA37B40F for ; Thu, 23 May 2002 11:39:54 -0700 (PDT) Received: from localhost (master@localhost) by serv.iaas.msu.ru (8.11.6/8.11.6) with ESMTP id g4NIdjc13905; Thu, 23 May 2002 22:39:46 +0400 (MSD) (envelope-from master@iaas.msu.ru) Date: Thu, 23 May 2002 22:39:45 +0400 (MSD) From: Michail Vidiassov To: samba-technical@samba.org Cc: freebsd-questions@freebsd.org Subject: zero size of mapped drives on samba2.2.4 with quotas Message-ID: <20020523222241.Q11202-100000@serv.iaas.msu.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Dear Guru, I am running samba 2.2.4 on FreeBSD 4.5 The size of mapped drives with quota enabled is always shown as 0 by W2k. There was no such problem with samba 2.2.3a. As far as I undestand, th esource of the problem is the following change of source/smbd/trans2.c (it was intended to fixe the display of the 'size on disk' property of files from w2k): =================================================================== RCS file: /cvsroot/samba/source/smbd/trans2.c,v retrieving revision 1.149.4.75 retrieving revision 1.149.4.76 diff -u -r1.149.4.75 -r1.149.4.76 --- samba/source/smbd/trans2.c 2002/04/12 01:33:08 1.149.4.75 +++ samba/source/smbd/trans2.c 2002/04/12 15:34:01 1.149.4.76 @@ -1421,12 +1421,13 @@ case SMB_QUERY_FS_SIZE_INFO: case SMB_FS_SIZE_INFORMATION: { - SMB_BIG_UINT dfree,dsize,bsize; + SMB_BIG_UINT dfree,dsize,bsize,secs_per_unit;; data_len = 24; conn->vfs_ops.disk_free(conn,".",False,&bsize,&dfree,&dsize); - SBIG_UINT(pdata,0,dsize); - SBIG_UINT(pdata,8,dfree); - SIVAL(pdata,16,bsize/512); + secs_per_unit = 2; + SBIG_UINT(pdata,0,dsize*(bsize/(512*secs_per_unit))); + SBIG_UINT(pdata,8,dfree*(bsize/(512*secs_per_unit))); + SIVAL(pdata,16,secs_per_unit); SIVAL(pdata,20,512); break; } This code seems to have problems in case bsize=512. It is the case with FreeBSD and disk quotas enabled. Reversing the patch solves my disk size problem. I seek confirmations / comments. Sincerely, Michail To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message