Deleted Added
full compact
ext2_vfsops.c (252890) ext2_vfsops.c (254260)
1/*-
2 * modified for EXT2FS support in Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*-
8 * Copyright (c) 1989, 1991, 1993, 1994

--- 19 unchanged lines hidden (view full) ---

28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94
1/*-
2 * modified for EXT2FS support in Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*-
8 * Copyright (c) 1989, 1991, 1993, 1994

--- 19 unchanged lines hidden (view full) ---

28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94
36 * $FreeBSD: head/sys/fs/ext2fs/ext2_vfsops.c 252890 2013-07-06 18:28:06Z pfg $
36 * $FreeBSD: head/sys/fs/ext2fs/ext2_vfsops.c 254260 2013-08-12 21:34:48Z pfg $
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/namei.h>
42#include <sys/priv.h>
43#include <sys/proc.h>
44#include <sys/kernel.h>

--- 347 unchanged lines hidden (view full) ---

392 fs->e2fs_total_dir = 0;
393 for (i=0; i < fs->e2fs_gcount; i++){
394 fs->e2fs_total_dir += fs->e2fs_gd[i].ext2bgd_ndirs;
395 fs->e2fs_contigdirs[i] = 0;
396 }
397 if (es->e2fs_rev == E2FS_REV0 ||
398 !EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_LARGEFILE))
399 fs->e2fs_maxfilesize = 0x7fffffff;
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/namei.h>
42#include <sys/priv.h>
43#include <sys/proc.h>
44#include <sys/kernel.h>

--- 347 unchanged lines hidden (view full) ---

392 fs->e2fs_total_dir = 0;
393 for (i=0; i < fs->e2fs_gcount; i++){
394 fs->e2fs_total_dir += fs->e2fs_gd[i].ext2bgd_ndirs;
395 fs->e2fs_contigdirs[i] = 0;
396 }
397 if (es->e2fs_rev == E2FS_REV0 ||
398 !EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_LARGEFILE))
399 fs->e2fs_maxfilesize = 0x7fffffff;
400 else
401 fs->e2fs_maxfilesize = 0x7fffffffffffffff;
402
400 else {
401 fs->e2fs_maxfilesize = 0xffffffffffff;
402 if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_HUGE_FILE))
403 fs->e2fs_maxfilesize = 0x7fffffffffffffff;
404 }
403 if (es->e4fs_flags & E2FS_UNSIGNED_HASH) {
404 fs->e2fs_uhash = 3;
405 } else if ((es->e4fs_flags & E2FS_SIGNED_HASH) == 0) {
406#ifdef __CHAR_UNSIGNED__
407 es->e4fs_flags |= E2FS_UNSIGNED_HASH;
408 fs->e2fs_uhash = 3;
409#else
410 es->e4fs_flags |= E2FS_SIGNED_HASH;

--- 545 unchanged lines hidden (view full) ---

956 ip->i_block_group = ino_to_cg(fs, ino);
957 ip->i_next_alloc_block = 0;
958 ip->i_next_alloc_goal = 0;
959
960 /*
961 * Now we want to make sure that block pointers for unused
962 * blocks are zeroed out - ext2_balloc depends on this
963 * although for regular files and directories only
405 if (es->e4fs_flags & E2FS_UNSIGNED_HASH) {
406 fs->e2fs_uhash = 3;
407 } else if ((es->e4fs_flags & E2FS_SIGNED_HASH) == 0) {
408#ifdef __CHAR_UNSIGNED__
409 es->e4fs_flags |= E2FS_UNSIGNED_HASH;
410 fs->e2fs_uhash = 3;
411#else
412 es->e4fs_flags |= E2FS_SIGNED_HASH;

--- 545 unchanged lines hidden (view full) ---

958 ip->i_block_group = ino_to_cg(fs, ino);
959 ip->i_next_alloc_block = 0;
960 ip->i_next_alloc_goal = 0;
961
962 /*
963 * Now we want to make sure that block pointers for unused
964 * blocks are zeroed out - ext2_balloc depends on this
965 * although for regular files and directories only
966 *
967 * If EXT4_EXTENTS flag is enabled, unused blocks aren't
968 * zeroed out because we could corrupt the extent tree.
964 */
969 */
965 if(S_ISDIR(ip->i_mode) || S_ISREG(ip->i_mode)) {
970 if (!(ip->i_flags & EXT4_EXTENTS) &&
971 (S_ISDIR(ip->i_mode) || S_ISREG(ip->i_mode))) {
966 used_blocks = (ip->i_size+fs->e2fs_bsize-1) / fs->e2fs_bsize;
967 for (i = used_blocks; i < EXT2_NDIR_BLOCKS; i++)
968 ip->i_db[i] = 0;
969 }
970/*
971 ext2_print_inode(ip);
972*/
973 bqrelse(bp);

--- 135 unchanged lines hidden ---
972 used_blocks = (ip->i_size+fs->e2fs_bsize-1) / fs->e2fs_bsize;
973 for (i = used_blocks; i < EXT2_NDIR_BLOCKS; i++)
974 ip->i_db[i] = 0;
975 }
976/*
977 ext2_print_inode(ip);
978*/
979 bqrelse(bp);

--- 135 unchanged lines hidden ---