summaryrefslogtreecommitdiffstats
path: root/sys/gnu/fs
Commit message (Collapse)AuthorAgeFilesLines
...
* Change %llx to %jx in printf() to eliminate warnings on 64-bit platforms.rodrigc2006-06-091-1/+1
|
* Bring back changes in version 1.3 lost in previous commit.rodrigc2006-06-091-13/+1
|
* More changes due to latest XFS import.rodrigc2006-06-091-188/+267
| | | | Work done by: Russell Cattelan <cattelan at xfs dot org>
* Sync XFS for FreeBSD tree with newer changes from SGI XFS for Linux tree.rodrigc2006-06-09138-17918/+14817
| | | | | | Improve support for writing to XFS partitions. Work done by: Russell Cattelan <cattelan at xfs dot org>
* Include "xfs_macros.h" to fix tinderbox build breakage.rodrigc2006-06-011-0/+1
|
* Cope with -Wundef. This means including xfs_macros.h early in a few moreimp2006-06-0113-19/+24
| | | | | | files and changing #if XXXKAN -> #ifdef XXXKAN. # this is just compile tested, since I don't have xfs partitions.
* Add support for "export" option, to allow NFS exportingrodrigc2006-05-261-5/+11
| | | | of XFS filesystems.
* Remove calls to vfs_export() for exporting a filesystem for NFS mountingrodrigc2006-05-261-4/+2
| | | | | | | from individual filesystems. Call it instead in vfs_mount.c, after we call VFS_MOUNT() for a specific filesystem. Approved by: dumbbell
* Remove calls to vfs_export() for exporting a filesystem for NFS mountingrodrigc2006-05-261-8/+3
| | | | | from individual filesystems. Call it instead in vfs_mount.c, after we call VFS_MOUNT() for a specific filesystem.
* Check for VFS_STATFS() failure in _xfs_mount() and abort the mountkeramida2006-05-051-2/+1
| | | | | | | | on errors. Found by: Coverity Prevent Approved by: rodrigc, Russell Cattelan MFC after: 4 weeks
* Repair ext2fs writes.cracauer2006-04-131-1/+1
| | | | | | | | | | | | | | | | Strong candidate for backport to 6.x. When allocating new blocks, the search for block group beginnings would fail with a segfault. There was a side-effect read access with an off-by-one errors. The results were not used in the error case so the code worked in the past. But now the FreeBSD kernel has tighter mappings and the word accessed is not mapped (for me). The Linux kernel has rewritten most of the allocation strategy by now. Also, the Linux kernel cleaned up the integration of these files and it look feasable to wrap the original Linux files in wrapper that provides their favorite arguments instead of dragging around our own code.
* Update a DB_SET to DB_FUNC I missed yesterday.jhb2006-03-081-1/+1
|
* Add marker vnodes to ensure that all vnodes associated with the mount point aretegge2006-01-091-5/+9
| | | | | | iterated over when using MNT_VNODE_FOREACH. Reviewed by: truckman
* Don't hold a reference to the disk vnode for each inode.dumbbell2006-01-051-9/+0
|
* This is the style-fix for my previous commit. Sorry for the delay, Icracauer2005-12-291-7/+1
| | | | forgot about it.
* Eradicate caddr_t from the VFS API.des2005-12-141-1/+1
|
* Hide DDB-specific functions inside check for #ifdef DDB.rodrigc2005-12-131-3/+2
| | | | Noticed by: des
* Inherit system-wide BLKDEV_IOSIZE definition.rodrigc2005-12-131-13/+1
| | | | Submitted by: kan
* #define __user to nothingrodrigc2005-12-121-0/+4
|
* Initial import of read-only support for SGI's XFS filesystem.rodrigc2005-12-12168-0/+110918
| | | | Contributed by: XFS for FreeBSD project
* Fix -Wundef warnings found when compiling i386 LINT, GENERIC andru2005-12-054-8/+8
| | | | custom kernels.
* Fix -Wundef from compiling the amd64 LINT.ru2005-12-041-1/+1
|
* Oops, the bug is still here, but reimplement the cpp(1) conditional properly.ru2005-12-041-0/+9
|
* There no longer seems to be this bug in gcc(1). Remove theru2005-12-041-9/+0
| | | | | badly implemented workaround that caused a workaround to be applied to all architectures, not only amd64.
* Normalize a significant number of kernel malloc type names:rwatson2005-10-313-6/+6
| | | | | | | | | | | | | | | | | | | - Prefer '_' to ' ', as it results in more easily parsed results in memory monitoring tools such as vmstat. - Remove punctuation that is incompatible with using memory type names as file names, such as '/' characters. - Disambiguate some collisions by adding subsystem prefixes to some memory types. - Generally prefer lower case to upper case. - If the same type is defined in multiple architecture directories, attempt to use the same name in additional cases. Not all instances were caught in this change, so more work is required to finish this conversion. Similar changes are required for UMA zone names.
* Fix this:cracauer2005-10-281-2/+6
| | | | | | | | | kern/87959 cracauer ext2fs: no cp(1) possible, mmap returns EINVAL ext2fs was missing vnode_create_vobject. (Reisefs probably has the same problem but I want to get this in quick for 6-release)
* Apply the same fix to a potential race in the ISDOTDOT codedumbbell2005-10-211-1/+3
| | | | | | | | | in reiserfs_lookup() that was used to fix an actual race in ufs_lookup.c:1.78. This is not currently a hazard, but the bug would be activated by marking reiserfs as MPSAFE. Reviewed by: mux (mentor) MFC after: 2 weeks
* Apply the same fix to a potential race in the ISDOTDOT code intruckman2005-10-161-1/+3
| | | | | | | | | ext2_lookup() that was used to fix an actual race in ufs_lookup.c:1.78. This is not currently a hazard, but the bug would be activated by marking ext2fs as MPSAFE. Requested by: bde MFC after: 2 weeks
* Back out alpha/alpha/trap.c:1.124, osf1_ioctl.c:1.14, osf1_misc.c:1.57,rwatson2005-09-281-2/+0
| | | | | | | | | | | | | | | | | | | | osf1_signal.c:1.41, amd64/amd64/trap.c:1.291, linux_socket.c:1.60, svr4_fcntl.c:1.36, svr4_ioctl.c:1.23, svr4_ipc.c:1.18, svr4_misc.c:1.81, svr4_signal.c:1.34, svr4_stat.c:1.21, svr4_stream.c:1.55, svr4_termios.c:1.13, svr4_ttold.c:1.15, svr4_util.h:1.10, ext2_alloc.c:1.43, i386/i386/trap.c:1.279, vm86.c:1.58, unaligned.c:1.12, imgact_elf.c:1.164, ffs_alloc.c:1.133: Now that Giant is acquired in uprintf() and tprintf(), the caller no longer leads to acquire Giant unless it also holds another mutex that would generate a lock order reversal when calling into these functions. Specifically not backed out is the acquisition of Giant in nfs_socket.c and rpcclnt.c, where local mutexes are held and would otherwise violate the lock order with Giant. This aligns this code more with the eventual locking of ttys. Suggested by: bde
* Add GIANT_REQUIRED and WITNESS sleep warnings to uprintf() and tprintf(),rwatson2005-09-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | as they both interact with the tty code (!MPSAFE) and may sleep if the tty buffer is full (per comment). Modify all consumers of uprintf() and tprintf() to hold Giant around calls into these functions. In most cases, this means adding an acquisition of Giant immediately around the function. In some cases (nfs_timer()), it means acquiring Giant higher up in the callout. With these changes, UFS no longer panics on SMP when either blocks are exhausted or inodes are exhausted under load due to races in the tty code when running without Giant. NB: Some reduction in calls to uprintf() in the svr4 code is probably desirable. NB: In the case of nfs_timer(), calling uprintf() while holding a mutex, or even in a callout at all, is a bad idea, and will generate warnings and potential upset. This needs to be fixed, but was a problem before this change. NB: uprintf()/tprintf() sleeping is generally a bad ideas, as is having non-MPSAFE tty code. MFC after: 1 week
* In ext2_mountfs(), check that the superblock size, SBSIZE,rodrigc2005-09-101-0/+12
| | | | | | | | | is aligned with the sectorsize value returned by GEOM, before doing a bread() of the superblock. This eliminates a panic when trying the following on an empty CD-ROM drive: mount_ext2fs /dev/acd0 /mnt Reviewed by: phk
* Add a new struct buf flag bit, B_PERSISTENT, and use it to tagtruckman2005-09-081-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | struct bufs that are persistently held by ext2fs. Ignore any buffers with this flag in the code in boot() that counts "busy" and dirty buffers and attempts to sync the dirty buffers, which is done before attempting to unmount all the file systems during shutdown. This fixes the problem caused by any ext2fs file systems that are mounted at system shutdown time, which caused boot() to give up on a non-zero number of buffers and skip the call to vfs_unmountall(). This left all the mounted file systems in a dirty state and caused them to all require cleanup by fsck on reboot. Move the two separate copies of the "busy" buffer test in boot() to a separate function. Nuke the useless spl() stuff in the ext2fs ULCK_BUF() macro. Bring the PRINT_BUF_FLAGS definition in sys/buf.h up to date with this and previous flag changes. PR: kern/56675, kern/85163 Tested by: "Matthias Andree" matthias.andree at gmx.de Reviewed by: bde MFC after: 3 days
* Unbreak hpfs/ntfs/udf/ext2fs/reiserfs mounting.ssouhlal2005-09-032-5/+6
| | | | Another pointyhat to: ssouhlal
* *_mountfs() (if the filesystem mounts from a device) needs devvp to bessouhlal2005-09-022-9/+5
| | | | | | | locked, so lock it. Glanced at by: phk MFC after: 3 days
* Repair this:cracauer2005-07-091-0/+1
| | | | | | | | | ext2fs fails to set the device in the stat(2) system call. Subsequently, that makes fts(3) fail, which goes as far as make ls(1) fail (which uses fts) on ext2fs. Approved by: re (Robert Watson <rwatson@FreeBSD.org>)
* Replace the use if ext2fs' bitops by bitstring.h macros. This fixesdumbbell2005-06-212-29/+16
| | | | | | | | portability issues. Also note that for amd64, a hack is used to work around gcc optimization (thanks to cognet@). Reviewed by: mux (mentor) Approved by: re (dougb)
* Moving reiserfs from sys/gnu to sys/gnu/fs. This was discussed on arch@.dumbbell2005-06-1813-0/+6347
| | | | | Reviewed by: mux (mentor) Approved by: re (scottl)
* Add standard GPL boilerplate to these files. They are the only onesimp2005-06-167-3/+104
| | | | | | | | 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-1511-63/+63
| | | | | | | Discussed on arch@. Reviewed by: kan Approved by: re (blanket), kan
* Allow EVFILT_VNODE events to work on every filesystem type, not justssouhlal2005-06-091-1/+0
| | | | | | | | | | | | | | | UFS by: - Making the pre and post hooks for the VOP functions work even when DEBUG_VFS_LOCKS is not defined. - Moving the KNOTE activations into the corresponding VOP hooks. - Creating a MNTK_NOKNOTE flag for the mnt_kern_flag field of struct mount that permits filesystems to disable the new behavior. - Creating a default VOP_KQFILTER function: vfs_kqfilter() My benchmarks have not revealed any performance degradation. Reviewed by: jeff, bde Approved by: rwatson, jmg (kqueue changes), grehan (mentor)
* - Change all filesystems and vfs_cache to relock the dvp once the child isjeff2005-04-131-4/+3
| | | | | | locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details. Sponsored by: Isilon Systems, Inc.
* - Remove wantparent, it is no longer necessary. An assert in vfs_lookup.cjeff2005-03-291-8/+1
| | | | | prevents any callers from doing a modifying op without LOCKPARENT or WANTPARENT.
* - ext2fs_lookup() is no longer responsible for unlocking the dvp, this isjeff2005-03-281-16/+1
| | | | | | | handled in vfs_lookup.c. This code was missing PDIRUNLOCK use prior to the removal of PDIRUNLOCK in rev 1.73 of vfs_lookup.c. Sponsored by: Isilon Systems, Inc.
* - Update vfs_root implementations to match the new prototype. None ofjeff2005-03-241-1/+2
| | | | | | | | these filesystems will support shared locks until they are explicitly modified to do so. Careful review must be done to ensure that this is safe for each individual filesystem. Sponsored by: Isilon Systems, Inc.
* Add two arguments to the vfs_hash() KPI so that filesystems which dophk2005-03-161-2/+2
| | | | not have unique hashes (NFS) can also use it.
* Remove inode fields previously used for private inode hash tables.phk2005-03-161-1/+0
|
* Don't hold a reference to the disk vnode for each inode.phk2005-03-165-19/+7
| | | | | Don't store the disk cdev in all inodes, it's only used for debugging printfs.
* Improve the vfs_hash() API: vput() the unneeded vnode centrally tophk2005-03-151-3/+1
| | | | avoid replicating the vput in all the filesystems.
* Simplify the vfs_hash calling convention.phk2005-03-151-23/+3
|
* Use vfs_hash() instead of home-rolledphk2005-03-143-64/+28
|
OpenPOWER on IntegriCloud