#
272461 |
|
02-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
262723 |
|
04-Mar-2014 |
pfg |
MFC r262623, r262667:
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.
|
#
262563 |
|
27-Feb-2014 |
pfg |
MFC r262346: ext2fs: fully enable ext4 read-only support.
The ext4 developers tend to tag Ext4-specific flags as "incompatible" even when such features are not relevant for read-only support. This is a consequence of the process though which this filesystem is implemented without design and the fact that some new features are not extensible to ext2/3.
Organize the features according to what we support and sort them so that we can now read-only mount filesystems with some features that may be found in newly formatted ext4 fs.
Submitted by: Zheng Liu
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
254260 |
|
12-Aug-2013 |
pfg |
Add read-only support for extents in ext2fs.
Basic support for extents was implemented by Zheng Liu as part of his Google Summer of Code in 2010. This support is read-only at this time.
In addition to extents we also support the huge_file extension for read-only purposes. This works nicely with the additional support for birthtime/nanosec timestamps and dir_index that have been added lately.
The implementation may not work for all ext4 filesystems as it doesn't support some features that are being enabled by default on recent linux like flex_bg. Nevertheless, the feature should be very useful for migration or simple access in filesystems that have been converted from ext2/3 or don't use incompatible features.
Special thanks to Zheng Liu for his dedication and continued work to support ext2 in FreeBSD.
Submitted by: Zheng Liu (lz@) Reviewed by: Mike Ma, Christoph Mallon (previous version) Sponsored by: Google Inc. MFC after: 3 weeks
|
#
252890 |
|
06-Jul-2013 |
pfg |
Initial implementation of the HTree directory index.
This is a port of NetBSD's GSoC 2012 Ext3 HTree directory indexing by Vyacheslav Matyushin. It was cleaned up and enhanced for FreeBSD by Zheng Liu (lz@).
This is an excellent example of work shared among different projects: Vyacheslav was able to look at an early prototype from Zheng Liu who was also able to check the code from Haiku (with permission).
As in linux, the feature is not available by default and must be enabled explicitly with tune2fs. We still do not support the workarounds required in readdir for NFS.
Submitted by: Zheng Liu Tested by: Mike Ma Sponsored by: Google Inc. MFC after: 1 week
|
#
252012 |
|
19-Jun-2013 |
pfg |
Rename some prefixes in the Block Group Descriptor fields to ext4bgd_
Change prefix to avoid confusion and denote that these fields are generally only available starting with ext4.
MFC after: 3 days
|
#
251952 |
|
18-Jun-2013 |
pfg |
More ext2fs header cleanups:
- Set MAXMNTLEN nearer to where it is used. - Move EXT2_LINK_MAX to ext2_dir.h .
MFC after: 3 days
|
#
251809 |
|
16-Jun-2013 |
pfg |
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
|
#
251562 |
|
08-Jun-2013 |
pfg |
e2fs_bpg and e2fs_isize are always unsigned.
The superblock in ext2fs defines all the fields as unsigned but for some reason the in-memory superblock was carrying e2fs_bpg and e2fs_isize as signed.
We should preserve the specified types for consistency.
MFC after: 5 days
|
#
251336 |
|
03-Jun-2013 |
pfg |
ext2fs: Update Block Group Descriptor struct.
Uncover some, previously reserved, fields that are used by Ext4. These are currently unused but it is good to have them for future reference.
Reviewed by: bde MFC after: 3 days
|
#
246564 |
|
08-Feb-2013 |
pfg |
ext2fs: Replace redundant EXT2_MIN_BLOCK with EXT2_MIN_BLOCK_SIZE.
Submitted by: Christoph Mallon MFC after: 2 weeks
|
#
246563 |
|
08-Feb-2013 |
pfg |
ext2fs: make e2fs_maxcontig local and remove tautological check.
e2fs_maxcontig was modelled after UFS when bringing the "Orlov allocator" to ext2. On UFS fs_maxcontig is kept in the superblock and is used by userland tools (fsck and growfs),
In ext2 this information is volatile so it is not available for userland tools, so in this case it doesn't have sense to carry it in the in-memory superblock.
Also remove a pointless check for MAX(1, x) > 0.
Submitted by: Christoph Mallon MFC after: 2 weeks
|
#
246258 |
|
02-Feb-2013 |
pfg |
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
|
#
245952 |
|
26-Jan-2013 |
pfg |
Clean some 'svn:executable' properties in the tree.
Submitted by: Christoph Mallon MFC after: 3 days
|
#
244475 |
|
20-Dec-2012 |
pfg |
More constant renaming in preparation for newer features.
We also try to make better use of the fs flags instead of trying adapt the code according to the fs structures. In the case of subsecond timestamps and birthtime we now check that the feature is explicitly enabled: previously we only checked that the reserved space was available and silently wrote them.
This approach is much safer, especially if the filesystem happens to use embedded inodes or support EAs.
Discussed with: Zheng Liu MFC after: 5 days
|
#
243652 |
|
28-Nov-2012 |
pfg |
Update some definitions or make them match NetBSD's headers.
Bring several definitions required for newer ext4 features.
Rename EXT2F_COMPAT_HTREE to EXT2F_COMPAT_DIRHASHINDEX since it is not being used yet and the new name is more compatible with NetBSD and Linux.
This change is purely cosmetic and has no effect on the real code.
Obtained from: NetBSD MFC after: 3 days
|
#
239636 |
|
23-Aug-2012 |
pfg |
Add some basic definitions for a future htree implementation.
MFC after: 3 days
|
#
232703 |
|
08-Mar-2012 |
pfg |
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
|
#
231168 |
|
07-Feb-2012 |
pfg |
Update the data structures with some fields reserved for ext4 but that can be used in ext3 mode.
Also adjust the internal inode to carry the birthtime, like in UFS, which is starting to get some use when big inodes are available.
Right now these are just placeholders for features to come.
Approved by: jhb (mentor) MFC after: 2 weeks
|
#
228583 |
|
16-Dec-2011 |
pfg |
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
|
#
228539 |
|
15-Dec-2011 |
pfg |
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
|
#
221126 |
|
27-Apr-2011 |
jhb |
Various style fixes including using uint*_t instead of u_int*_t.
Submitted by: Pedro F. Giffuni giffunip at yahoo
|
#
218273 |
|
04-Feb-2011 |
jhb |
Collapse duplicate definitions of EXT2_SB().
Submitted by: Pedro F. Giffuni giffunip at yahoo
|
#
218176 |
|
01-Feb-2011 |
jhb |
Some cosmetic fixes and remove a duplicate constant.
Submitted by: Pedro F. Giffuni giffunip at yahoo
|
#
217703 |
|
21-Jan-2011 |
jhb |
- Move special inode constants to ext2_dinode.h and rename them to match NetBSD. - Add a constant for the HASJOURNAL compat flag.
PR: kern/153584 Submitted by: Pedro F. Giffuni giffunip at yahoo
|
#
217585 |
|
19-Jan-2011 |
jhb |
Whitespace and style fixes.
|
#
202283 |
|
14-Jan-2010 |
lulf |
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>
|