#
29363fb4 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags. Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
|
#
2ff63af9 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
344243fc |
|
26-Jan-2023 |
Fedor Uporov <fsu@FreeBSD.org> |
Fix block bitmap end position computation PR: 261850 Reported by: chenguang.wang MFC after: 2 weeks
|
#
829f0bcb |
|
19-Dec-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add the concept of vnode state transitions To quote from a comment above vput_final: <quote> * XXX Some filesystems pass in an exclusively locked vnode and strongly depend * on the lock being held all the way until VOP_INACTIVE. This in particular * happens with UFS which adds half-constructed vnodes to the hash, where they * can be found by other code. </quote> As is there is no mechanism which allows filesystems to denote that a vnode is fully initialized, consequently problems like the above are only found the hard way(tm). Add rudimentary support for state transitions, which in particular allow to assert the vnode is not legally unlocked until its fate is decided (either construction finishes or vgone is called to abort it). The new field lands in a 1-byte hole, thus it does not grow the struct. Bump __FreeBSD_version to 1400077 Reviewed by: kib (previous version) Tested by: pho Differential Revision: https://reviews.freebsd.org/D37759
|
#
8ea3ceda |
|
06-Feb-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
fs: fix a few common typos in source code comments - s/quadradically/quadratically/ - s/persistant/persistent/ Obtained from: NetBSD MFC after: 3 days
|
#
c2f0581e |
|
06-Oct-2020 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: minor typo. Obtained from: Dragonfly MFC after: 3 days
|
#
586ee69f |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
fs: clean up empty lines in .c and .h files
|
#
39bc40e3 |
|
20-Jul-2020 |
Mark Johnston <markj@FreeBSD.org> |
ext2fs: Stop checking for failures from malloc(M_WAITOK). PR: 240545 Submitted by: Andrew Reiter <arr@watson.org> Reviewed by: fsu MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25707
|
#
cd3acfe7 |
|
17-May-2020 |
Fedor Uporov <fsu@FreeBSD.org> |
Add BE architectures support. Author of most initial version: pfg (https://reviews.freebsd.org/D23259) Reviewed by: pfg MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D24685
|
#
ec81c9cc |
|
17-May-2020 |
Fedor Uporov <fsu@FreeBSD.org> |
Add inode bitmap tail initialization. Make ext2fs compatible with changes introduced in e2fsprogs v1.45.2. Now the tail of inode bitmap is filled with 0xff pattern explicitly during bitmap initialization phase to avoid e2fsck error like: "Padding at end of inode bitmap is not set."
|
#
7029da5c |
|
26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes. This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags. Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
|
#
fe8b3456 |
|
06-Sep-2019 |
Conrad Meyer <cem@FreeBSD.org> |
ext2fs: Remove redundant brelse() after r294954 Coccinelle: @ rule1 @ identifier __error; @@ ... int __error; ... @ rule2 depends on rule1 @ identifier rule1.__error; identifier __bp; @@ __error = ( bread | bread_gb | breadn | breadn_flags ) (..., &__bp); if ( ( __error | __error != 0 ) ) { ... - brelse(__bp); ... } No functional change.
|
#
ebc94b66 |
|
16-Apr-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
ext2fs: Initial version of DTrace support. Reviewed by: pfg, gnn MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19848
|
#
0204d1c7 |
|
15-Mar-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
Remove unneeded mount point unlock function calls. The ext2_nodealloccg() function unlocks the mount point in case of successful node allocation. The additional unlocks are not required and should be removed. PR: 236452 Reported by: pho MFC after: 3 days
|
#
3eed9f20 |
|
04-Mar-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
Do not read the on-disk inode in case of vnode allocation. Reported by: Christopher Krah <krah@protonmail.com> Reported as: FS-6-EXT2-4: Denial Of Service in mkdir-0 (ext2_mkdir/vn_rdwr) Reviewed by: pfg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19327
|
#
4ff6603a |
|
04-Mar-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
Do not panic if inode bitmap is corrupted. admbug: 804 Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: pfg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19325
|
#
80a4a971 |
|
04-Mar-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
Validate block bitmaps. Reviewed by: pfg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19324
|
#
6e38bf94 |
|
04-Mar-2019 |
Fedor Uporov <fsu@FreeBSD.org> |
Make superblock reading logic more strict. Add more on-disk superblock consistency checks to ext2_compute_sb_data() function. It should decrease the probability of mounting filesystems with corrupted superblock data. Reviewed by: pfg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19322
|
#
4c1e1d2b |
|
21-Aug-2018 |
Fedor Uporov <fsu@FreeBSD.org> |
Change unused inodes counters behavior in the cylinder groups. Make it more close to native ext4 implementation to avoid fsck errors.
|
#
e06e5241 |
|
13-May-2018 |
Fedor Uporov <fsu@FreeBSD.org> |
Fix EXT2FS_DEBUG definition usage. Reviewed by: pfg MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D15394
|
#
d8ba45e2 |
|
16-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Revert r313780 (UFS_ prefix)
|
#
1e2b9afc |
|
16-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Prefix UFS symbols with UFS_ to reduce namespace pollution Followup to r313780. Also prefix ext2's and nandfs's versions with EXT2_ and NANDFS_. Reported by: kib Reviewed by: kib, mckusick Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9623
|
#
c0f16c65 |
|
29-Jan-2018 |
Fedor Uporov <fsu@FreeBSD.org> |
Add flex_bg/meta_bg features RW support. Reviewed by: pfg MFC after: 6 months Differential Revision: https://reviews.freebsd.org/D13964
|
#
512f29d1 |
|
14-Jan-2018 |
Fedor Uporov <fsu@FreeBSD.org> |
Add metadata_csum feature support. Reviewed by: pfg (mentor) Approved by: pfg (mentor) MFC after: 6 months Differential Revision: https://reviews.freebsd.org/D13810
|
#
3acd9182 |
|
05-Jan-2018 |
Fedor Uporov <fsu@FreeBSD.org> |
Add 64bit feature support. Reviewed by: kevlo, pfg (mentor) Approved by: pfg (mentor) MFC after: 6 months Differential Revision: https://reviews.freebsd.org/D11530
|
#
51369649 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
ffbde5ea |
|
24-Oct-2017 |
Fedor Uporov <fsu@FreeBSD.org> |
Fix physical block number overflow in different places. Approved by: pfg (mentor) MFC after: 6 months
|
#
dc262e5b |
|
24-Oct-2017 |
Fedor Uporov <fsu@FreeBSD.org> |
Set doreallocblks sysctl value to zero by default because of possibility of filesystem corruption. Approved by: pfg (mentor) MFC after: 2 weeks
|
#
b394cd1e |
|
17-Oct-2017 |
Fedor Uporov <fsu@FreeBSD.org> |
Add inital extents read-write support. Approved by: pfg (mentor) MFC after: 6 months RelNotes: Yes Differential Revision: https://reviews.freebsd.org/D12087
|
#
72530f91 |
|
27-Sep-2017 |
Fedor Uporov <fsu@FreeBSD.org> |
Add check to avoid raw inode iblocks fields overflow in case of huge_file feature. Use the Linux logic for now. Reviewed by: pfg (mentor) Approved by: pfg (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12131
|
#
d23db91e |
|
20-Jun-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Add uninit_bg feature support. From the linux tune2fs(8) manpage: "Allow the kernel to initialize bitmaps and inode tables and keep a high watermark for the unused inodes in a filesystem, to reduce e2fsck(8) time. This first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the original time, depending on how full the file system is." Submitted by: Fedor Uporov Differential Revision: https://reviews.freebsd.org/D11211
|
#
34f43888 |
|
03-May-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: add read-write support for Extended Attributes. Extended attributes and their particular implementation in linux are different from FreeBSD so in this case we have started diverging from the UFS EA implementation, which would be the natural reference. Depending on future progress implementing ACLs this approach may change but for now bring to the tree an implementation that is consistent and can be tested. Submitted by: Fedor Uporov Differential Revision: https://reviews.freebsd.org/D10460
|
#
1dc349ab |
|
15-Feb-2017 |
Ed Maste <emaste@FreeBSD.org> |
prefix UFS symbols with UFS_ to reduce namespace pollution Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency) Also prefix ext2's and nandfs's NDADDR and NIADDR with EXT2_ and NANDFS_ Reviewed by: kib, mckusick Obtained from: NetBSD MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9536
|
#
a86fdf88 |
|
28-Dec-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Undo small wrong style change. Reported by: kib
|
#
bf9a211d |
|
28-Dec-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
style(9) cleanups. Just to reduce some of the issues found with indent(1). MFC after: 1 week
|
#
fca15474 |
|
02-Dec-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: renumber the license clauses to avoid skipping #3. This is to keep consistency with other files, and help license-checking utilities determine the number of clauses that apply. No functional change.
|
#
43ce40e8 |
|
07-Jun-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: cleanup generation number management. Ext2/3/4 manages generation numbers differently than UFS so adopt some rules that should work well. When allocating a new inode, make sure we generate a "good" random value specifically avoiding zero. Don't interfere with the numbers that are already generated in the filesystem: ext2fs doesn't have the backwards compatibility issues where there were no generation numbers. Reviewed by: kevlo MFC after: 1 week
|
#
57d2ac2f |
|
22-May-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
arc4random() returns 0 to (2**32)−1, use an alternative to initialize i_gen if it's zero rather than a divide by 2. With inputs from delphij, mckusick, rmacklem Reviewed by: mckusick
|
#
e45e8680 |
|
10-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: replace 0 with NULL for pointers. While here do late initialization of ebap, similar as was done in UFS. Found with devel/coccinelle. MFC after: 2 weeks
|
#
df04a188 |
|
31-Mar-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
Update comment: Linux does set a randomized generation number of an inode on ext2/3/4. While here use arc4random() instead of random(). Reviewed by: pfg MFC after: 3 days
|
#
e08ad8f0 |
|
23-Jan-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2: Initialize i_flag after allocation. We use i_flag to carry some flags like IN_E4INDEX which newer ext2fs variants uses internally. fsck.ext3 rightfully complains after our implementation tags non-directory inodes with INDEX_FL. Initializing i_flag during allocation removes the noise factor and quiets down fsck. Patch from: Damjan Jovanovic PR: 206530
|
#
955ba37b |
|
18-Jan-2015 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Remove dead code. After the ext2 variant of the "orlov allocator" was implemented, the case for a negative or zero dirsize disappeared. Drop the dead code and unsign dirsize given that it can't be negative anyways. CID: 1008669 MFC after: 1 week
|
#
dde58752 |
|
17-Dec-2014 |
Gleb Kurtsou <gleb@FreeBSD.org> |
Adjust printf format specifiers for dev_t and ino_t in kernel. ino_t and dev_t are about to become uint64_t. Reviewed by: kib, mckusick
|
#
ca73017a |
|
20-Mar-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Revert r263449; ext2fs: minor update to the dirpref policy. The change in UFS r254996, reverted the change as the older code seems to work better. This was not visible in local testing but we can trust UFS is vastly more exercised in diferent environments.
|
#
e23c3492 |
|
20-Mar-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: minor update to the dirpref policy. Bring in a minor change to the dirpref policy based on r248623. This is pretty minimal change to keep the implementation in sync with UFS but other parts from the original change are not directly applicable so don't expect improvements in fsck times. MFC after: 2 weeks
|
#
c3b76e13 |
|
01-Mar-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: small formatting fixes. Remove some redundant spaces. No functional change. MFC after: 3 days
|
#
3a54024d |
|
28-Feb-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: use of tab vs spaces. Consistently use a single tab after a #define as mentioned in style(9). Use tabs instead of space for indenting. Fix a typo: "hash_vesion". No functional change. MFC after: 3 days
|
#
99984d22 |
|
24-Jan-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Re-enable reallocblk. The major corruption issues affecting this code have been fixed a while ago. MFC after: 1 week
|
#
70097aac |
|
13-Aug-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Define ext2fs local types and use them. Add definitions for e2fs_daddr_t, e4fs_daddr_t in addition to the already existing e2fs_lbn_t and adjust them for ext4. Other than making the code more readable these changes should fix problems related to big filesystems. Setting the proper types can be tricky so the process was helped by looking at UFS. In our implementation, logical block numbers can be negative and the code depends on it. In ext2, block numbers are unsigned so it is convenient to keep e2fs_daddr_t unsigned and use the complete 32 bits. In the case of e4fs_daddr_t, while the value should be unsigned, for ext4 we only need to support 48 bits so preserving an extra bit from the sign is not an issue. While here also drop the ext2_setblock() prototype that was never used. Discussed with: mckusick, bde MFC after: 3 weeks
|
#
da057ed2 |
|
22-Jun-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Define and use e2fs_lbn_t in ext2fs. In line to what is done in UFS, define an internal type e2fs_lbn_t for the logical block numbers. This change is basically a no-op as the new type is unchanged (int32_t) but it may be useful as bumping this may be required for ext4fs. Also, as pointed out by Bruce Evans: -Use daddr_t for daddr in ext2_bmaparray(). This seems to improve reliability with the reallocblks option. - Add a cast to the fsbtodb() macro as in UFS. Reviewed by: bde MFC after: 3 days
|
#
b6113fb3 |
|
16-Jun-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Re-sort ext2fs headers to make things easier to find. In the ext2fs driver we have a mixture of headers: - The ext2_ prefixed headers have strong influence from NetBSD and are carry specific ext2/3/4 information. - The unprefixed headers are inspired on UFS and carry implementation specific information. Do some small adjustments so that the information is easier to find coming from either UFS or the NetBSD implementation. MFC after: 3 days
|
#
f744956b |
|
12-Jun-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Relax some unnecessary unsigned type changes in ext2fs. While the changes in r245820 are in line with the ext2 spec, the code derived from UFS can use negative values so it is better to relax some types to keep them as they were, and somewhat more similar to UFS. While here clean some casts. Some of the original types are still wrong and will require more work. Discussed with: bde MFC after: 3 days
|
#
77b193c2 |
|
12-Jun-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Turn DIAGNOSTICs to INVARIANTS in ext2fs. This is done to be consistent with what other filesystems and particularly ffs already does (see r173464). MFC after: 5 days
|
#
abe38ac7 |
|
10-Jun-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
s/file system/filesystem/g Based on r96755 from UFS. MFC after: 3 days
|
#
26089666 |
|
06-Apr-2013 |
Jeff Roberson <jeff@FreeBSD.org> |
Prepare to replace the buf splay with a trie: - Don't insert BKGRDMARKER bufs into the splay or dirty/clean buf lists. No consumers need to find them there and it complicates the tree. These flags are all FFS specific and could be moved out of the buf cache. - Use pbgetvp() and pbrelvp() to associate the background and journal bufs with the vp. Not only is this much cheaper it makes more sense for these transient bufs. - Fix the assertions in pbget* and pbrel*. It's not safe to check list pointers which were never initialized. Use the BX flags instead. We also check B_PAGING in reassignbuf() so this should cover all cases. Discussed with: kib, mckusick, attilio Sponsored by: EMC / Isilon Storage Division
|
#
a9d1b299 |
|
10-Feb-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Use prototype declarations for function definitions Submitted by: Christoph Mallon MFC after: 2 weeks
|
#
757224cb |
|
02-Feb-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: general cleanup. - Remove unused extern declarations in fs.h - Correct comments in ext2_dir.h - Several panic() messages showed wrong function names. - Remove commented out stray line in ext2_alloc.c. - Remove the unused macro EXT2_BLOCK_SIZE_BITS() and the then write-only member e2fs_blocksize_bits from struct m_ext2fs. - Remove the unused macro EXT2_FIRST_INO() and the then write-only member e2fs_first_inode from struct m_ext2fs. - Remove EXT2_DESC_PER_BLOCK() and the member e2fs_descpb from struct m_ext2fs. - Remove the unused members e2fs_bmask, e2fs_dbpg and e2fs_mount_opt from struct m_ext2fs - Correct harmless off-by-one error for fspath in ext2_vfsops.c. - Remove the unused and broken macros EXT2_ADDR_PER_BLOCK_BITS() and EXT2_DESC_PER_BLOCK_BITS(). - Remove the !_KERNEL versions of the EXT2_* macros. Submitted by: Christoph Mallon MFC after: 2 weeks
|
#
1d04725a |
|
22-Jan-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: make some inode fields match the ext2 spec. Ext2fs uses unsigned fields in its dinode struct. FreeBSD can have negative values in some of those fields and the inode is meant to interact with the system so we have never respected the unsigned nature of most of those fields. Block numbers and the NFS generation number do not need to be signed so redefine them as unsigned to better match the on-disk information. MFC after: 1 week
|
#
4b21c8fd |
|
22-Jan-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: temporarily disable the reallocation code. Testing with fsx has revealed problems and in order to hunt the bugs properly we need reduce the complexity. This seems to help but is not a complete solution. MFC after: 3 days
|
#
7306dea4 |
|
27-Nov-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Partially bring r242520 to ext2fs. When a file is first being written, the dynamic block reallocation (implemented by ext2_reallocblks) relocates the file's blocks so as to cluster them together into a contiguous set of blocks on the disk. When the cluster crosses the boundary into the first indirect block, the first indirect block is initially allocated in a position immediately following the last direct block. Block reallocation would usually destroy locality by moving the indirect block out of the way to keep the data blocks contiguous. The issue was diagnosed long ago by Bruce Evans on ffs and surfaced on ext2fs when block reallocaton was ported. This is only a partial solution based on the similarities with FFS. We still require more review of the allocation details that vary in ext2fs. Reported by: bde MFC after: 1 week
|
#
fc8fdae0 |
|
27-Sep-2012 |
Matthew D Fleming <mdf@FreeBSD.org> |
Fix up kernel sources to be ready for a 64-bit ino_t. Original code by: Gleb Kurtsou
|
#
035e4e04 |
|
08-Mar-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Add support for ns timestamps and birthtime to the ext2/3 driver. When using big inodes there is sufficient space in ext3 to keep extra resolution and birthtime (creation) timestamps. The appropriate fields in the on-disk inode have been approved for a long time but support for this in ext3 has not been widely distributed. In preparation for ext4 most linux distributions have enabled by default such bigger inodes and some people use nanosecond timestamps in ext3. We now support those when the inode is big enough and while we do recognize the EXT4F_ROCOMPAT_EXTRA_ISIZE, we maintain the extra timestamps even when they are not used. An additional note by Bruce Evans: We blindly accept unrepresentable tv_nsec in VOP_SETATTR(), but all file systems have always done that. When POSIX gets around to specifying the behaviour, it will probably require certain rounding to the fs's resolution and not rejecting the request. This unfortunately means that syscalls that set times can't really tell if they succeeded without reading back the times using stat() or similar and checking that they were set close enough. Reviewed by: bde Approved by: jhb (mentor) MFC after: 2 weeks
|
#
8f8d3027 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Migrate ufs and ext2fs from skpc() to memcchr(). While there, remove a useless check from the code. memcchr() always returns characters unequal to 0xff in this case, so inosused[i] ^ 0xff can never be equal to zero. Also, the fact that memcchr() returns a pointer instead of the number of bytes until the end, makes conversion to an offset far more easy.
|
#
5ed5554f |
|
16-Dec-2011 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Style cleanups by jh@. Fix a comment from the previous commit. Use M_ZERO instead of bzero() in ext2_vfsops.c Add include guards from PR. PR: 162564 Approved by: jhb (mentor) MFC after: 2 weeks
|
#
5b63c125 |
|
15-Dec-2011 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Bring in reallocblk to ext2fs. The feature has been standard for a while in UFS as a means to reduce fragmentation, therefore maintaining consistent performance with filesystem aging. This is also very similar to what ext4 calls "delayed allocation". In his 2010 GSoC, Zheng Liu ported and benchmarked the missing FANCY_REALLOC code to find more consistent performance improvements than with the preallocation approach. PR: 159233 Author: Zheng Liu <gnehzuil AT SPAMFREE gmail DOT com> Sponsored by: Google Inc. Approved by: jhb (mentor) MFC after: 2 weeks
|
#
6472ac3d |
|
07-Nov-2011 |
Ed Schouten <ed@FreeBSD.org> |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
#
4d2ede67 |
|
27-Apr-2011 |
John Baldwin <jhb@FreeBSD.org> |
Various style fixes including using uint*_t instead of u_int*_t. Submitted by: Pedro F. Giffuni giffunip at yahoo
|
#
056c6c93 |
|
24-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
Use ffs() to locate free bits in the inode and block bitmaps rather than loops with bit shifts.
|
#
73dd6d1f |
|
08-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
After reading a bitmap block for i-nodes or blocks, recheck the count of free i-nodes or blocks to handle a race where another thread might have allocated the last i-node or block while we were waiting for the buffer. Tested by: dougb
|
#
8e42a406 |
|
02-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
Fix build with DIAGNOSTIC enabled. Pointy hat to: jhb
|
#
c767faa5 |
|
01-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
- Set the next_alloc fields for an i-node after allocating a new block so that future allocations start with most recently allocated block rather than the beginning of the filesystem. - Fix ext2_alloccg() to properly scan for 8 block chunks that are not aligned on 8-bit boundaries. Previously this was causing new blocks to be allocated in a highly fragmented fashion (block 0 of a file at lbn N, block 1 at lbn N + 8, block 2 at lbn N + 16, etc.). - Cosmetic tweaks to the currently-disabled fancy realloc sysctls. PR: kern/153584 Discussed with: bde Tested by: Pedro F. Giffuni giffunip at yahoo, Zheng Liu (lz)
|
#
08b1d535 |
|
19-Jan-2011 |
John Baldwin <jhb@FreeBSD.org> |
Whitespace and style fixes.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
0cc17ce6 |
|
31-Aug-2010 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Remove duplicate comment. PR: kern/148820 Submitted by: pluknet <pluknet - at - gmail.com>
|
#
e09c00ca |
|
14-Jan-2010 |
Ulf Lilleengen <lulf@FreeBSD.org> |
Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summer 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>
|