summaryrefslogtreecommitdiffstats
path: root/sys/ufs
Commit message (Collapse)AuthorAgeFilesLines
* Drop two unnecessary casts.stefanf2006-07-181-2/+2
|
* The ufs_lookup.c has a critical bug around the whiteoutdaichi2006-07-111-2/+10
| | | | | | | | | | | | | | process. UFS must check a whiteout name when it uses the whiteout, but the current implementation does not check the whileout name, so sometimes UFS writes over a wrong whtieout. UFS *MUST* check the whiteout name to use a corrent whiteout. This bug leads unionfs. panic. This commit fixes this trouble. Submitted by: Masanori Ozawa <ozawa@ongs.co.jp> (unionfs developer) Reviewed by: tegge & rodrigc (mentor) Approved by: rodrigc (mentor) MFC after: 2 weeks
* Declare UFS module version.pjd2006-07-091-0/+1
|
* Change fs->fs_fsmnt to mp->mnt_stat.f_mntonname in warnings about missingpjd2006-07-091-2/+2
| | | | | | | MAC and ACLs support in the kernel. If it is a first mount, fs->fs_fsmnt is empty. MFC after: 1 week
* Check the sectorsize of the underlying disk before trying torodrigc2006-06-031-1/+8
| | | | | | | | | bread() the UFS superblock. Should eliminate crashes when trying to do: mount -t ufs on an audio CD. PR: kern/85893 Reported by: Russell Francis <rfrancis at ev dot net> MFC after: 1 week
* o Rearrange and remove incorrect comments.maxim2006-05-311-8/+3
| | | | Requested by: bde
* o According to POSIX, the result of ftruncate(2) is unspecifiedmaxim2006-05-311-4/+22
| | | | | | | | | | | | for file types other than VREG, VDIR and shared memory objects. We already handle VREG, VLNK and VDIR cases. Silently ignore truncate requests for all the rest. Adjust comments. PR: kern/98064 Submitted by: bde Security: local DoS Regress. test: regression/fifo/fifo_misc MFC after: 2 weeks
* Remove "update" from ffs_opts. It has been moved to global_optsrodrigc2006-05-261-4/+1
| | | | in vfs_mount.c.
* Remove calls to vfs_export() for exporting a filesystem for NFS mountingrodrigc2006-05-261-18/+0
| | | | | from individual filesystems. Call it instead in vfs_mount.c, after we call VFS_MOUNT() for a specific filesystem.
* Take errmsg out of ffs_opts. It is already part of global_optsrodrigc2006-05-241-1/+1
| | | | in vfs_mount.c.
* o Fix a comment: ufs2_dinode.di_blocks counts blocks not bytes actually held.maxim2006-05-211-1/+1
|
* o Fix a comment: directory whiteout type is DT_WHT not DT_W.maxim2006-05-211-1/+1
|
* Provide a less cryptic panic message in place of just "found inode."trhodes2006-05-161-1/+2
|
* Read block hints list from last snapshot on the active snapshot list.tegge2006-05-161-0/+4
|
* Copy last block on file system again after file system has been suspended.tegge2006-05-151-0/+11
| | | | Obtained from: NetBSD
* Don't leak a locked buffer if last block on file system cannot be read.tegge2006-05-151-2/+3
|
* Errors detected while file system is suspended should not trigger antegge2006-05-151-6/+4
| | | | assertion failure.
* Expunge traces of unlinked snapshot files when making a new snapshot.tegge2006-05-131-2/+9
|
* Bring the call to softdep_releasefile() within the region protected bytegge2006-05-091-3/+7
| | | | | vn_start_secondary_write() since it might cause file system write activity (e.g. ffs_snapremove()).
* ffs_syncvnode() might skip some of the blocks due to them being locked,tegge2006-05-061-0/+46
| | | | | | | | | | | | assuming them to be inflight write buffers. This is not always the case. bufdaemon might hold the buffer lock and give up writing the buffer due to it having dependencies, the file system being suspended or the vnode lock being held by another thread. When bufdaemon decides to write the buffer there is still a window before bufobj_wref() has been called, allowing other threads to believe that the vnode has no dirty buffers or inflight writes. Try harder to flush first block of new subdirectory to get rid of MKDIR_BODY dependency.
* Return error if vnode was reclaimed while it was temporarily unlocked.tegge2006-05-051-1/+11
| | | | Add missing calls to vn_finished_write() in error handling.
* Turn off disk quotas for snapshot files.tegge2006-05-052-0/+38
|
* Avoid locking overhead when snapshots are disabled.tegge2006-05-051-0/+4
|
* - Set bio_done directly to NULL to indicate that we want to wait for the bio.pjd2006-05-051-5/+2
| | | | | | - Use biowait() instead of copying the code. MFC after: 1 month
* Detect the snapshot file being prematurely unlinked.tegge2006-05-031-0/+10
|
* Temporarily undo clusters contribution to global runningbufspace whiletegge2006-05-031-0/+4
| | | | handling copy on write for the buffers taking part in the cluster.
* A side effect of calling runningbufwakeup() is that bp->b_runningbufspace istegge2006-05-031-3/+10
| | | | | cleared. Save old value and restore bp->b_runningbufspace before returning from ffs_copyonwrite().
* Close a race when VOP_LOCK() on a snapshot file is attempted at thetegge2006-05-022-42/+110
| | | | | | same time as it is changed back into a normal file. The locker would get the shared "snaplk" lock which would no longer be the correct lock for the vnode.
* Fix a typo.scottl2006-04-281-1/+1
|
* - Add a BO_NEEDSGIANT flag to the bufobj. This flag forces all childjeff2006-04-281-1/+7
| | | | | | buffers to go on the buf daemon's DIRTYGIANT queue. - Set BO_NEEDSGIANT on ffs's devvp since the ffs_copyonwrite handler runs in the context of the buf daemon and may require Giant.
* Revert previous to this file before an actual request is made.trhodes2006-04-221-0/+12
|
* Remove what I believe are two useless ifdefs. If a user or administratortrhodes2006-04-211-12/+0
| | | | | | | | | | enables multilabel, or any option for that matter, most likely they have a reason. This will allow users to see that mulilabel is enabled via an issued "mount" command and remove an annoying warning - printed only when a MAC kernel is not installed - on boot up. Discussed with: green, brueffer, Samy Al Bahra. Probably ran past: csjp (though I can't remember).
* Fix panic() message to give the right function name.kensmith2006-04-171-1/+1
|
* Eliminate softdep_flush() livelock by accounting for number of worklist itemstegge2006-04-032-1/+7
| | | | marked as being in progress.
* - Release the references acquired by VOP_GETWRITEMOUNT and vfs_getvfs().jeff2006-03-312-1/+7
| | | | | | Discussed with: tegge Tested by: kris Sponsored by: Isilon Systems, Inc.
* Allow compilation when not using softupdates.tegge2006-03-191-2/+0
|
* Let snapshots make a copy of old contents for all buffers taking part in ategge2006-03-191-11/+38
| | | | | | | | cluster instead of just the first buffer. Delay buf_start() calls until snapshots have a copy of old content. PR: kern/93942
* Add kludge to avoid deadlock when unlinking snapshot.tegge2006-03-191-0/+16
|
* Reduce probability of unmount failing after having unmounted snapshots.tegge2006-03-191-0/+1
|
* Ensure that vnode for directory isn't reclaimed before ffs_snapshot() hastegge2006-03-191-4/+3
| | | | | completed expunging unlinked files. It could come back at another memory location causing a lock order reversal.
* - Remove the call to softdep_waitidle after suspending the filesystem.jeff2006-03-121-7/+0
| | | | | | | | This does not do what I wanted as all dirty buffers must be flushed by the call to ffs_sync and any remaining dependency work would mean that this failed. Pointed out by: tegge
* - Remove the call to softdep_waitidle after suspending the filesystem.jeff2006-03-121-0/+3
| | | | | | | | This does not do what I wanted as all dirty buffers must be flushed by the call to ffs_sync and any remaining dependency work would mean that this failed. Pointed out by: tegge
* Block secondary writes while expunging active unlinked files.tegge2006-03-113-3/+115
| | | | | | | | | | Fix detection of active unlinked files by checking VI_OWEINACT and VI_DOINGINACT in addition to v_usecount. Defer inactive handling for unlinked files if the file system is mostly suspended (secondary writes being blocked). Perform deferred inactive handling after the file system is resumed.
* Remove unneeded (and broken) usage of MNT_REF()/MNT_REL().tegge2006-03-101-2/+0
|
* Use vn_start_secondary_write() and vn_finished_secondary_write() as ategge2006-03-086-12/+227
| | | | | | | | | | | replacement for vn_write_suspend_wait() to better account for secondary write processing. Close race where secondary writes could be started after ffs_sync() returned but before the file system was marked as suspended. Detect if secondary writes or softdep processing occurred during vnode sync loop in ffs_sync() and retry the loop if needed.
* Don't set IN_CHANGE and IN_UPDATE on inodes for potentially suspendedtegge2006-03-081-1/+0
| | | | | | file systems. This could cause deadlocks when creating snapshots. Reviewed by: jeff
* Eliminate a deadlock when creating snapshots. Blocking vn_start_write() musttegge2006-03-021-1/+11
| | | | | | be called without any vnode locks held. Remove calls to vn_start_write() and vn_finished_write() in vnode_pager_putpages() and add these calls before the vnode lock is obtained to most of the callers that don't already have them.
* - Acquire lk in softdep_slowdown so that it's owned when we calljeff2006-03-021-3/+7
| | | | | | softdep_speedup(). - Assert that lk is held in softdep_speedup() rather than acquiring it. This avoids a potential lock recursion.
* - Move softdep from using a global worklist to per-mount worklists. Thisjeff2006-03-026-268/+336
| | | | | | | | | | | | | | | | | | | | | | | has many positive effects including improved smp locking, reducing interdependencies between mounts that can lead to deadlocks, etc. - Add the softdep worklist and various counters to the ufsmnt structure. - Add a mount pointer to the workitem and remove mount pointers from the various structures derived from the workitem as they are now redundant. - Remove the poor-man's semaphore protecting softdep_process_worklist and softdep_flushworklist. Several threads may now process the list simultaneously. - Add softdep_waitidle() to block the thread until all pending dependencies being operated on by other threads have been flushed. - Use softdep_waitidle() in unmount and snapshots to block either operation until the fs is stable. - Remove softdep worklist processing from the syncer and move it into the softdep_flush() thread. This thread processes all softdep mounts once each second and when it is called via the new softdep_speedup() when there is a resource shortage. This removes the softdep hook from the kernel and various hacks in header files to support it. Reviewed by/Discussed with: tegge, truckman, mckusick Tested by: kris
* - Using LK_NOWAIT in qsync() can get us into infinite loop situations thatjeff2006-02-221-1/+1
| | | | | | lead to deadlocks. Remove it. MFC After: 1 week
OpenPOWER on IntegriCloud