From owner-freebsd-fs@FreeBSD.ORG Thu Apr 8 10:42:51 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE37D16A4CE for ; Thu, 8 Apr 2004 10:42:51 -0700 (PDT) Received: from mail.tiscali.cz (stateless1.tiscali.cz [213.235.135.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E95643D2F for ; Thu, 8 Apr 2004 10:42:51 -0700 (PDT) (envelope-from hsn@netmag.cz) Received: from asura.bsd (213.235.69.113) by mail.tiscali.cz (6.7.021) id 40292FFD00EA7EE8 for freebsd-fs@freebsd.org; Thu, 8 Apr 2004 19:42:50 +0200 Received: from hsn@localhost by asura.bsd (Exim 4.30_2 FreeBSD) id 1BBdXR-0000ZJ-S5 for ; Thu, 08 Apr 2004 19:42:05 +0200 Date: Thu, 8 Apr 2004 19:42:05 +0200 From: Radim Kolar To: freebsd-fs@freebsd.org Message-ID: <20040408174205.GA2090@asura.bsd> Mail-Followup-To: freebsd-fs@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i Subject: maximum size of cylinder group superblock supported by kernel X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Apr 2004 17:42:51 -0000 Hi, I have started to write inode booster program. It should add new free inodes to filesystem without enlarging it. I am running out of inodes on many computers. I have found that newfs creates filesystem with cylinder group block (struct cg from fs.h) maxed to filesystem's blocksize. In my case there are only 4 free bytes, so there is no much space for increasing iused bitmap. I have read in several source code comments about `bsd can not handle larger struct cg than blocksize`. Can anybody fix kernel to support larger struct cg ? Why is hard to support any sized struct cg ? Real size is recorded in superblock.fs_csgsize field, so kernel can look in sb and load as much data as needed. Anybody have some idea what should i do with my code? I have created classes for manipulating UFS2 ondisk. I can can do easily for example inodes -> datablocks space conversion, but this is not very usefull.