Date: Thu, 14 Apr 2011 15:41:30 -0700 From: mdf@FreeBSD.org To: Gleb Kurtsou <gleb.kurtsou@gmail.com>, John Baldwin <jhb@freebsd.org> Cc: FreeBSD Arch <freebsd-arch@freebsd.org> Subject: Re: posix_fallocate(2) Message-ID: <BANLkTi=OWUnB_ue3RT4bzGNvivZwW_ofkA@mail.gmail.com> In-Reply-To: <20110414213610.GB92382@tops> References: <BANLkTimYzJ11w9X1OHShEn2wi6gjHx=YjA@mail.gmail.com> <20110414213610.GB92382@tops>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 14, 2011 at 2:36 PM, Gleb Kurtsou <gleb.kurtsou@gmail.com> wrot= e: > On (14/04/2011 12:35), mdf@FreeBSD.org wrote: >> For work we need a functionality in our filesystem that is pretty much >> like posix_fallocate(2), so we're using the name and I've added a >> default VOP_ALLOCATE definition that does the right, but dumb, thing. >> >> The most recent mention of this function in FreeBSD was another thread >> lamenting it's failure to exist: >> http://lists.freebsd.org/pipermail/freebsd-ports/2010-February/059268.ht= ml >> >> The attached files are the core of the kernel implementation of the >> syscall and a default VOP for any filesystem not supporting >> VOP_ALLOCATE, which allows the syscall to work as expected but in a >> non-performant manner. =A0I didn't see this syscall in NetBSD or >> OpenBSD, so I plan to add it to the end of our syscall table. >> >> What I wanted to check with -arch about was: >> >> 1) is there still a desire for this syscall? > It looks not to play well architecturally with modern COW file systems > like ZFS and HUMMER. So potentially it can be implemented only for UFS. The syscall, or the dumb implementation? I don't see why the syscall itself would be a problem; presumably ZFS can figure out whether an fallocate() block is worth COWing or not... >> 2) is this naive implementation useful enough to serve as a default >> for all filesystems until someone with more knowledge fills them in? > Maillist ate the patch. Only man page attached. Whoops! http://people.freebsd.org/~mdf/bsd-fallocate.diff Cheers, matthew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=OWUnB_ue3RT4bzGNvivZwW_ofkA>