summaryrefslogtreecommitdiff
path: root/sys/ufs
AgeCommit message (Collapse)Author
2008-08-13remove a bunch of bogus ARGSUSEDThordur I. Bjornsson
2008-08-08Admit b_blkno means block number; a block is DEV_BSIZE (a.k.a.Kenneth R Westerback
512) bytes; ffs is inextricably tied to using b_blkno and disklabel always uses sectorsize units. Thus use DEV_BSIZE units for all fields describing ffs filesystems and convert to/from sectors where required. This enables the creation and use of ffs filesystems on non-512 byte sectorsize devices. This diff allows i386 and sgi (the two test platforms) to find disklabels that are not on a sectorsize boundary. Same change to further archs coming. This is a no-op on 512-byte sectorsize devices. This work triggered by jsing@'s need to create ffs filesystems on sgi cdroms so we can create cdrom install media for sgi. sgi testing by jsing@ ok jsing@ pedro@ "looks sane" beck@ weingart@
2008-08-08use cgbase() instead of doing arthmetic on fs_fpg when calculatingThordur I. Bjornsson
block# too ensure proper casting. From FreeBSD; ok miod@, pedro@, blambert@
2008-08-08spacing + wrap a line at 79chars.Thordur I. Bjornsson
2008-08-02fix printf format specifiers; ok krw@ millert@ deraadt@Otto Moerbeek
2008-07-22Use cgbase() instead of doing arithmetic on fs_fpg, for the former doesMiod Vallat
proper casts to ensure the result is not truncated. From FreeBSD via NetBSD. ok thib@
2008-07-09Remove an XXX comment about using the same pool for mfs and ffs, sinceThordur I. Bjornsson
mfs is using the ffs code and its the same object it would make no sense having two seperate pools... ok art@
2008-06-14A bunch of pool_get() + bzero() -> pool_get(..., .. | PR_ZERO)Michael Knudsen
conversions that should shave a few bytes off the kernel. ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer FOO|BAR''; thanks for looking.
2008-06-12Bring biomem diff back into the tree after the nfs_bio.c fix went in.Theo de Raadt
ok thib beck art
2008-06-11back out biomem diff since it is not right yet. Doing very largeTheo de Raadt
file copies to nfsv2 causes the system to eventually peg the console. On the console ^T indicates that the load is increasing rapidly, ddb indicates many calls to getbuf, there is some very slow nfs traffic making none (or extremely slow) progress. Eventually some machines seize up entirely.
2008-06-10Buffer cache revampBob Beck
1) remove multiple size queues, introduced as a stopgap. 2) decouple pages containing data from their mappings 3) only keep buffers mapped when they actually have to be mapped (right now, this is when buffers are B_BUSY) 4) New functions to make a buffer busy, and release the busy flag (buf_acquire and buf_release) 5) Move high/low water marks and statistics counters into a structure 6) Add a sysctl to retrieve buffer cache statistics Tested in several variants and beat upon by bob and art for a year. run accidentally on henning's nfs server for a few months... ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
2008-06-09Update access(2) to have modern semantics with respect to X_OK andTodd C. Miller
the superuser. access(2) will now only indicate success for X_OK on non-directories if there is at least one execute bit set on the file. OK deraadt@ thib@ otto@
2008-05-08retire vn_default_error() and replace all instancesThordur I. Bjornsson
with eopnotsupp() instead; ok blambert@
2008-05-03Introduce vop_generic_bmap(); use it where applicable.Thordur I. Bjornsson
one thing of note, fifofs changes in that its bmap now sets the runp too 0, but that was an oversight in the old code. ok art@
2008-04-24remove useless defines for the vnode operations, and insteadThordur I. Bjornsson
init the op array functions with whatever the define was set too. ok dlg@,blambert@
2008-04-10the ffs code is a bit noisy when it runs out of inodes/space etc;Thordur I. Bjornsson
so ratelimit the messages to about once every 2secs. ok dlg@ (who also pointed out me missing 'static' in the timeval decls.) "sounds good to me" deraadt@
2008-03-16Widen some struct statfs fields to support large filesystem stataOtto Moerbeek
and add some to be able to support statvfs(2). Do the compat dance to provide backward compatibility. ok thib@ miod@
2008-01-22with a lot of fragments per cylinder group and lots of cylinderOtto Moerbeek
groups, it is possible that fpg * ncg overflows an int. Problem seen by jared rr spiegel while playing with very small fragments on a large disk. ok krw@ millert@
2008-01-17Notify us of NOTE_LINK on mkdir(2) as well.Federico G. Schwindt
ok thib and miod.
2008-01-05Make the ffs code 64-bit disk block number clean. Based on a diffOtto Moerbeek
from Pedro Martelleto. Two things remain: the on-disk quota structures are still 32-bit and statfs does not do 64-bit numbers yet. ok deraadt@
2007-12-16fix remaining cases of potential concurrent mfs_buflist access;Otto Moerbeek
ok deraadt@ millert@
2007-12-06solve the biggest problem with concurrent buflist access; makes mfs onOtto Moerbeek
SMP machines reliable. few corner cases remain, which will be dealt with later; ok deraadt@ millert@
2007-12-04fix out of partition/memory bounds access when accessing blocks at the tailOtto Moerbeek
end; avoids bad address errors; original diff by me with cleanup by millert@; ok millert@
2007-11-28g/c mfs_mountroot() and mfs_initminiroot(). We don't support root onTodd C. Miller
mfs. OK deraadt@
2007-11-27typos; ok jmc@Martynas Venckus
sys/dev/pci/pciide.c from naddy@
2007-11-24Try a forced unmount if mount_mfs is killed with SIGKILL.Marco Pfatschbacher
OK tedu@
2007-11-09Code to read in the cylinder groups is duplicated in a few spots,Thordur I. Bjornsson
factor it into a new function, ffs_cgread(); and use that. From mickey; OK art@, toby@
2007-10-29MALLOC/FREE -> malloc/freeCharles Longeau
ok krw@
2007-10-09MALLOC+memset(,0,) -> malloc+M_ZERO. Don't forget FREE->free this time.Kenneth R Westerback
2007-10-08Initialize dh_blkfree with zero's.Kenneth R Westerback
ok beck@
2007-10-06Simpliest memset(,0,) -> M_ZERO changes. One (caddr *) cast removal,Kenneth R Westerback
otherwise just adding M_ZERO to malloc() and removing the immediately adjacent memset(,0,).
2007-10-05MALLOC/FREE -> malloc/free + M_ZERO.Thordur I. Bjornsson
As a side effect, this probably fixes PR5596, if the allocation of dh_hash succeeds and the dh_blkfree fails, we jump into the fail case, but we haven't initialized dh_hash properly, that is filling the array with memory from the dirhash pool, but the != NULL check holds, since the memory hasn't been zeroed and so we start pool_put()'ing, causing the crash in PR5596. PR5596 debugging by pedro. ok art@, krw@
2007-10-01Last of the really easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...'Kenneth R Westerback
where obvious.
2007-09-23Move notatime check from ffs_update() to ffs_read() and ufs_setattr().Todd C. Miller
Fixes a couple cases where atime was being updated even when the filesystem was mounted with the noatime option. Adapted from similar placement in FreeBSD and NetBSD. Tested by myself and naddy@
2007-09-10When selecting cylinder groups as candidates for new directory creationThordur I. Bjornsson
make sure that theres a minimum amount of free blocks in that cylinder group by tweaking the minbfree calculation. Without this, cylinder groups with no free blocks could be chosen which resaults in expensive searches for free blocks each time a new file is created in the directory. Tweak the calculation of minifree (minimum free inodes) in the same way. Also decrease the maxcontigdirs as the file system fills up to lessen the chance of directory clusters overflowing the available space in the cylinder group. From FreeBSD (Rev 1.116 of sys/ufs/ffs/ffs_alloc.c); ok miod@
2007-09-10Lock the vnode in ffs_unmount() before passing it too vinvalbuf()Thordur I. Bjornsson
and VOP_CLOSE() since both of them expected it too be locked. ok art@
2007-09-07Use M_ZERO in a few more places to shave bytes from the kernel.Artur Grabowski
eyeballed and ok dlg@
2007-08-04When we're writing out the summary information and fail on some blockArtur Grabowski
we'll just randomly brelse a random block that might or might no have been the block that failed. Which wouldn't be necessary anyway since bwrite releases the block wether the write succeeded or not. And if someone won the race for that block (perfectly possible since we're sleeping in this function) we'll just release a live block under his feet. beck@ ok
2007-08-03Increase dq_cnt in struct dquot from 16 to 32bits. OK deraadt@Todd C. Miller
2007-07-23Since __sparc__ gets defined on sparc64 too, add a !defined (__sparc64__)Mark Kettenis
to the condition that protects CPU_ISSUN4OR4C. While we currently define that macro on sparc64 too, we won't in the near future. ok miod@
2007-07-11Bring back the change in rev 1.70, it is safe now:Todd C. Miller
Propagate the wait flag from fsync down to softdep_fsync_mountdev() and do not perform synchronous sync there is no wait requested by skipping the drain_output() call. This fixes a problem where update kthread would sleep forever on some vnode since work is created faster than it can be flushed. OK deraadt@
2007-06-22Update ffs[1/2] time last written for cg's inThordur I. Bjornsson
clusteralloc(); From mickey; ok pedro@
2007-06-22declare "uid" as uid_t instead of u_int, and fix format string accordinglyJasper Lievisse Adriaanse
ok pedro@ thib@
2007-06-20remove an XXX comment;Thordur I. Bjornsson
Basically the reason why we dont do VOP_ABORTOP()'s in NFS is that sys_rename() actually handles the garbage collection of the pathname buffers, the calls in ufs are actually fluff too, but will be delt with later. ok pedro@
2007-06-17ansify/de-register.Jasper Lievisse Adriaanse
no binary change
2007-06-06Don't promote MNT_WAIT to MNT_NOWAIT when syncing the device vnode of aPedro Martelletto
mounted softdep file system, okay mickey@ beck@ art@
2007-06-02ufs1_daddr_t is no more, okay deraadt@Pedro Martelletto
2007-06-02ufs1_daddr_t cleanup, okay thib@ deraadt@Pedro Martelletto
2007-06-01pedro ok'd this ~3500 line diff which removes the vop argumentTheo de Raadt
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
2007-06-01Nuke 'ufs_lbn_t', okay otto@ deraadt@ krw@ beck@Pedro Martelletto