summaryrefslogtreecommitdiffstats
path: root/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c
Commit message (Collapse)AuthorAgeFilesLines
* Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summerlulf2010-01-141-526/+0
| | | | | | | | | | | | | | | of Code 2009: - BSDL block and inode allocation policies for ext2fs. This involves the use FFS1 style block and inode allocation for ext2fs. Preallocation was removed since it was GPL'd. - Make ext2fs MPSAFE by introducing locks to per-mount datastructures. - Fixes for kern/122047 PR. - Various small bugfixes. - Move out of gnu/ directory. Sponsored by: Google Inc. Submitted by: Aditya Sarawgi <sarawgi.aditya AT SPAMFREE gmail DOT com>
* - Obtain inode sizes and location of the first inode based on the contentsstas2009-01-181-2/+2
| | | | | | | | of superblock rather than using hardcoded values. This fixes ext2fs on filesystems with inode sized other than 128. Submitted by: Alex Lyashkov <Alexey.Lyashkov@Sun.COM> (based on) MFC after: 2 weeks
* Fix -Wundef from compiling the amd64 LINT.ru2005-12-041-1/+1
|
* Add standard GPL boilerplate to these files. They are the only onesimp2005-06-161-0/+14
| | | | | | | | contaminated with the GPL code. While this information was present in the COPYRIGHT.INFO file, it is FreeBSD's standard practice to, where possible, include explicit license information in files. Approved by: release engineer (scottl)
* Move ext2fs from src/gnu to src/gnu/fs.rodrigc2005-06-151-8/+8
| | | | | | | Discussed on arch@. Reviewed by: kan Approved by: re (blanket), kan
* /* -> /*- for copyright notices, minor format tweaks as necessaryimp2005-01-061-2/+2
|
* Fix the alpha tinderbox. The alpha specific bitops used by the bitmapmarcel2003-10-291-3/+1
| | | | | | | | | | code has the typical branch prediction detour, which creates cross- section branches. A LINT kernel is apparently large enough nowadays that the .text and .text2 sections cannot always be layed-out so that branches between them reach. The fix is to stop using the alpha-specific bitops and instead use the portable implementation used by all platforms other than alpha and i386.
* Change of plans: Add ext2_bitops.h with generic and portablemarcel2003-08-251-3/+1
| | | | | | | | implementations. Use those on platforms that don't have MD headers. Remove the ia64 MD header. We're going to use the C implementation there. Suggested by: bde
* Add compilation support for extfs on ia64, primarily to support LINT.marcel2003-08-231-3/+5
| | | | | The functions in ia64-bitops.h merely call panic() for now. They need to be implemented some day, just not today.
* Complete the separation of ext2fs from ufs by copying the remainingiedowse2002-05-161-12/+10
| | | | | | | | | | shared code and converting all ufs references. Originally it may have made sense to share common features between the two filesystems, but recently it has only caused problems, the UFS2 work being the final straw. All UFS_* indirect calls are now direct calls to ext2_* functions, and ext2fs-specific mount and inode structures have been introduced.
* Put the bits in place for Alpha support for ext2. Not tested.mjacob2000-12-091-0/+2
|
* Weaken a bogus dependency on <sys/proc.h> in <sys/buf.h> by #ifdef'ingphk2000-10-291-1/+0
| | | | | | | | | | the offending inline function (BUF_KERNPROC) on it being #included already. I'm not sure BUF_KERNPROC() is even the right thing to do or in the right place or implemented the right way (inline vs normal function). Remove consequently unneeded #includes of <sys/proc.h>
* Separate the struct bio related stuff out of <sys/buf.h> intophk2000-05-051-0/+1
| | | | | | | | | | | | | | | <sys/bio.h>. <sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes. Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data. Still a few bogus uses of struct buf to track down. Repocopy by: peter
* ext2fs relies on UFS support code, and as a result also requiresrwatson2000-04-151-0/+3
| | | | | | | | | | extattr.h to be included. This fixes the broken ext2fs build as of the import of extattr code. Also added $FreeBSD: $ to a couple of files that didn't have them, without which I couldn't commit this fix. Reported by: "George W. Dinolt" <gdinolt@pacbell.net>
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-271-2/+2
| | | | kernel compile
* Quick fix for not being able to sync all the buffers in boot() ifbde1998-10-031-5/+1
| | | | | | | | | | | | | an ext2fs file system is mounted. The soft update changes added a check for B_DELWRI buffers. This exposed the complete brokenness of the previous quick fix for failing syncs (PR 3571, committed on 1997/08/04). Use a new buffer flag B_DIRTY and don't abuse B_DELWRI. B_DIRTY buffers are still written too late, as broken in the previous fix. This is fairly harmless, because B_DIRTY is only used for bitmap buffers and fsck.ext2 can fix up the bitmaps perfectly. Fixed a race in ULCK_BUF() (bremfree() was outside of the splbio() section).
* Fixed printf format errors.bde1998-07-111-1/+2
|
* Fixed (?) races in mark_buffer_dirty(). We abuse the buffer cachebde1998-06-211-3/+6
| | | | | | | | | | | | | | by hacking on locked buffers without getblk()ing them, and we didn't even use splbio() to prevent biodone() changing the buffer underneath use when a write completes. I think there was no problem in practice on i386's because the operations on b_flags and numdirtybufs happen to be atomic. We still depend on biodone()'s operations on b_flags not interfering with ours. I think there is only interference for B_ERROR, and this is harmless because errors for async writes are ignored anyway. Don't use mark_buffer_dirty() except for superblock-related metadata. It was used in just one case where ordinary BSD buffering is more natural.
* Removed unused function ll_w_block(). It has always had races duebde1998-06-211-18/+0
| | | | | | | | to not using splbio(), and has rotted a little. The races were probably harmless in practice because this function was only used for superblock updates, and separate superblock updates are probably prevented from running into each other by doing part of the update synchronously.
* Removed __FreeBSD__ ifdefs.bde1997-12-021-2/+0
|
* `numdirtybuffers' was not maintained properly. This caused excessivebde1997-10-071-2/+4
| | | | | flushing of buffers in an attempt to reduce numdirtybuffers, and perhaps other problems.
* Fix a problem with ext2fs so that filesystems mounted at reboot don'tdyson1997-08-041-1/+2
| | | | | | | | | keep ahold of buffers, and therefore leave filesystems dirty. I haven't been able to test, but the code compiles. Those who run -current, please test and report back!!! (Sorry :-)). PR: kern/3571 Submitted by: Dirk Keunecke <dk@panda.rhein-main.de>
* Fix a problem with the VN device. Specifically, the VN device candyson1997-06-151-0/+6
| | | | | | | | | | cause a problem of spiraling death due to buffer resource limitations. The vfs_bio code in general had little ability to handle buffer resource management, and now it does. Also, there are a lot more knobs for tuning the vfs_bio code now. The knobs came free because of the need that there always be some immediately available buffers (non-delayed or locked) for use. Note that the buffer cache code is much less likely to get bogged down with lots of delayed writes, even more so than before.
* Use __i386__ instead of i386 in ifdefs.bde1997-04-011-1/+3
| | | | Don't compile unused (debugging?) functions.
* ext2_inode_cnv.c:bde1995-11-091-2/+2
| | | | | | | | | | | | | | | Included <sys/vnode.h> and its prerequisite <sys/proc.h>, and cleaned up includes. The vop_t changes made the non-inclusion of vnode.h fatal instead of just sloppy. i386_bitops.h: Changed `extern inline' to `static inline'. `extern inline' is a Linuxism that stops things from compiling without -O. Fixed idempotency identifier. Misc: Added prototypes. Staticized some functions so that prototypes are unnecessary. Added casts. Cleaned up includes.
* Cleaned up some lint and some obvious prototyping errors.dyson1995-11-081-2/+2
|
* Main code for the ext2fs filesystem. Please refer to the COPYRIGHT.INFOdyson1995-11-051-0/+520
file for GPL restrictions. This code was ported to the BSD platform by Godmar Back <gback@facility.cs.utah.edu> and specifically to FreeBSD by John Dyson. This code is still green and should be used with caution. Additional changes to UFS necessary to make this code work will be commited seperately. Submitted by: Godmar Back <gback@facility.cs.utah.edu> Obtained from: Lites/Mach4
OpenPOWER on IntegriCloud