kernel: Move GPL'd kernel files to sys/gnu to have them all in one place.
[dragonfly.git] / sys / gnu / vfs / ext2fs / ext2_vfsops.c
similarity index 97%
rename from sys/vfs/gnu/ext2fs/ext2_vfsops.c
rename to sys/gnu/vfs/ext2fs/ext2_vfsops.c
index c3b30dc..44b95e8 100644 (file)
@@ -4,8 +4,8 @@
  *  Aug 1995, Godmar Back (gback@cs.utah.edu)
  *  University of Utah, Department of Computer Science
  */
-/*     
- * Copyright (c) 1989, 1991, 1993, 1994        
+/*
+ * Copyright (c) 1989, 1991, 1993, 1994
  *     The Regents of the University of California.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,6 @@
  *
  *     @(#)ffs_vfsops.c        8.8 (Berkeley) 4/18/94
  *     $FreeBSD: src/sys/gnu/ext2fs/ext2_vfsops.c,v 1.63.2.7 2002/07/01 00:18:51 iedowse Exp $
- *     $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vfsops.c,v 1.57 2008/09/17 21:44:21 dillon Exp $
  */
 
 #include "opt_quota.h"
@@ -436,7 +435,7 @@ ext2_check_descriptors(struct ext2_sb_info *sb)
         {
                /* examine next descriptor block */
                 if ((i % EXT2_DESC_PER_BLOCK(sb)) == 0)
-                        gdp = (struct ext2_group_desc *) 
+                        gdp = (struct ext2_group_desc *)
                                sb->s_group_desc[desc_block++]->b_data;
                 if (gdp->bg_block_bitmap < block ||
                     gdp->bg_block_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb))
@@ -511,12 +510,12 @@ compute_sb_data(struct vnode *devvp, struct ext2_super_block *es,
     int logic_sb_block = 1;    /* XXX for now */
 
 #if 1
-#define V(v)  
+#define V(v)
 #else
 #define V(v)  kprintf(#v"= %d\n", fs->v);
 #endif
 
-    fs->s_blocksize = EXT2_MIN_BLOCK_SIZE << es->s_log_block_size; 
+    fs->s_blocksize = EXT2_MIN_BLOCK_SIZE << es->s_log_block_size;
     V(s_blocksize)
     fs->s_bshift = EXT2_MIN_BLOCK_LOG_SIZE + es->s_log_block_size;
     V(s_bshift)
@@ -577,14 +576,14 @@ compute_sb_data(struct vnode *devvp, struct ext2_super_block *es,
                M_EXT2MNT, M_WAITOK);
 
     /* adjust logic_sb_block */
-    if(fs->s_blocksize > SBSIZE) 
+    if(fs->s_blocksize > SBSIZE)
        /* Godmar thinks: if the blocksize is greater than 1024, then
-          the superblock is logically part of block zero. 
+          the superblock is logically part of block zero.
         */
         logic_sb_block = 0;
-    
+
     for (i = 0; i < db_count; i++) {
-       error = bread(devvp, fsbtodoff(fs, logic_sb_block + i + 1), 
+       error = bread(devvp, fsbtodoff(fs, logic_sb_block + i + 1),
                      fs->s_blocksize, &fs->s_group_desc[i]);
        if(error) {
            for (j = 0; j < i; j++)
@@ -687,7 +686,7 @@ ext2_reload(struct mount *mountp, struct ucred *cred)
        scaninfo.fs = fs;
        while (error == 0 && scaninfo.rescan) {
            scaninfo.rescan = 0;
-           error = vmntvnodescan(mountp, VMSC_GETVX, ext2_reload_scan1, 
+           error = vmntvnodescan(mountp, VMSC_GETVX, ext2_reload_scan1,
                                ext2_reload_scan2, &scaninfo);
        }
        return(error);
@@ -724,12 +723,12 @@ ext2_reload_scan2(struct mount *mp, struct vnode *vp, void *data)
         * Step 6: re-read inode data for all active vnodes.
         */
        ip = VTOI(vp);
-       error = bread(info->devvp, 
+       error = bread(info->devvp,
                      fsbtodoff(info->fs, ino_to_fsba(info->fs, ip->i_number)),
                      (int)info->fs->s_blocksize, &bp);
        if (error)
                return (error);
-       ext2_ei2di((struct ext2_inode *) ((char *)bp->b_data + 
+       ext2_ei2di((struct ext2_inode *) ((char *)bp->b_data +
            EXT2_INODE_SIZE(info->fs) * ino_to_fsbo(info->fs, ip->i_number)),
            &ip->i_din);
        brelse(bp);
@@ -813,9 +812,9 @@ ext2_mountfs(struct vnode *devvp, struct mount *mp, struct ucred *cred)
           we dynamically allocate both a ext2_sb_info and a ext2_super_block
           while Linux keeps the super block in a locked buffer
         */
-       ump->um_e2fs = bsd_malloc(sizeof(struct ext2_sb_info), 
+       ump->um_e2fs = bsd_malloc(sizeof(struct ext2_sb_info),
                M_EXT2MNT, M_WAITOK);
-       ump->um_e2fs->s_es = bsd_malloc(sizeof(struct ext2_super_block), 
+       ump->um_e2fs->s_es = bsd_malloc(sizeof(struct ext2_super_block),
                M_EXT2MNT, M_WAITOK);
        bcopy(es, ump->um_e2fs->s_es, (u_int)sizeof(struct ext2_super_block));
        if ((error = compute_sb_data(devvp, ump->um_e2fs->s_es, ump->um_e2fs)))
@@ -828,7 +827,7 @@ ext2_mountfs(struct vnode *devvp, struct mount *mp, struct ucred *cred)
        bp = NULL;
        fs = ump->um_e2fs;
        fs->s_rd_only = ronly;  /* ronly is set according to mnt_flags */
-       /* if the fs is not mounted read-only, make sure the super block is 
+       /* if the fs is not mounted read-only, make sure the super block is
           always written back on a sync()
         */
        fs->s_wasvalid = fs->s_es->s_state & EXT2_VALID_FS ? 1 : 0;
@@ -844,21 +843,21 @@ ext2_mountfs(struct vnode *devvp, struct mount *mp, struct ucred *cred)
        ump->um_mountp = mp;
        ump->um_dev = dev;
        ump->um_devvp = devvp;
-       /* setting those two parameters allows us to use 
+       /* setting those two parameters allows us to use
           ext2_bmap w/o changse !
        */
        ump->um_nindir = EXT2_ADDR_PER_BLOCK(fs);
        ump->um_bptrtodb = fs->s_es->s_log_block_size + 1;
        ump->um_seqinc = EXT2_FRAGS_PER_BLOCK(fs);
        for (i = 0; i < MAXQUOTAS; i++)
-               ump->um_quotas[i] = NULLVP; 
+               ump->um_quotas[i] = NULLVP;
        dev->si_mountpoint = mp;
 
        vfs_add_vnodeops(mp, &ext2_vnode_vops, &mp->mnt_vn_norm_ops);
        vfs_add_vnodeops(mp, &ext2_spec_vops, &mp->mnt_vn_spec_ops);
        vfs_add_vnodeops(mp, &ext2_fifo_vops, &mp->mnt_vn_fifo_ops);
 
-       if (ronly == 0) 
+       if (ronly == 0)
                ext2_sbupdate(ump, MNT_WAIT);
        return (0);
 out:
@@ -902,7 +901,7 @@ ext2_unmount(struct mount *mp, int mntflags)
        }
 
        /* release buffers containing group descriptors */
-       for(i = 0; i < fs->s_db_per_group; i++) 
+       for(i = 0; i < fs->s_db_per_group; i++)
                ULCK_BUF(fs->s_group_desc[i])
        bsd_free(fs->s_group_desc, M_EXT2MNT);
 
@@ -988,19 +987,19 @@ ext2_statfs(struct mount *mp, struct statfs *sbp, struct ucred *cred)
                                nsb++;
        } else
                nsb = fs->s_groups_count;
-       overhead = es->s_first_data_block + 
+       overhead = es->s_first_data_block +
            /* Superblocks and block group descriptors: */
            nsb * (1 + fs->s_db_per_group) +
            /* Inode bitmap, block bitmap, and inode table: */
            fs->s_groups_count * (1 + 1 + fs->s_itb_per_group);
 
-       sbp->f_bsize = EXT2_FRAG_SIZE(fs);      
+       sbp->f_bsize = EXT2_FRAG_SIZE(fs);
        sbp->f_iosize = EXT2_BLOCK_SIZE(fs);
        sbp->f_blocks = es->s_blocks_count - overhead;
-       sbp->f_bfree = es->s_free_blocks_count; 
-       sbp->f_bavail = sbp->f_bfree - es->s_r_blocks_count; 
-       sbp->f_files = es->s_inodes_count; 
-       sbp->f_ffree = es->s_free_inodes_count; 
+       sbp->f_bfree = es->s_free_blocks_count;
+       sbp->f_bavail = sbp->f_bfree - es->s_r_blocks_count;
+       sbp->f_files = es->s_inodes_count;
+       sbp->f_ffree = es->s_free_inodes_count;
        if (sbp != &mp->mnt_stat) {
                sbp->f_type = mp->mnt_vfc->vfc_typenum;
                bcopy((caddr_t)mp->mnt_stat.f_mntfromname,
@@ -1041,7 +1040,7 @@ ext2_sync(struct mount *mp, int waitfor)
        scaninfo.waitfor = waitfor;
        while (scaninfo.rescan) {
                scaninfo.rescan = 0;
-               vmntvnodescan(mp, VMSC_GETVP|VMSC_NOWAIT, 
+               vmntvnodescan(mp, VMSC_GETVP|VMSC_NOWAIT,
                                NULL, ext2_sync_scan, &scaninfo);
        }
 
@@ -1193,7 +1192,7 @@ kprintf("ext2_vget(%d) dbn= %d ", ino, fsbtodb(fs, ino_to_fsba(fs, ino)));
        ip->i_prealloc_count = 0;
        ip->i_prealloc_block = 0;
         /* now we want to make sure that block pointers for unused
-           blocks are zeroed out - ext2_balloc depends on this 
+           blocks are zeroed out - ext2_balloc depends on this
           although for regular files and directories only
        */
        if(S_ISDIR(ip->i_mode) || S_ISREG(ip->i_mode)) {
@@ -1311,7 +1310,7 @@ ext2_check_export(struct mount *mp, struct sockaddr *nam, int *exflagsp,
 {
        struct netcred *np;
        struct ext2mount *ump;
-        
+
        ump = VFSTOEXT2(mp);
        /*
         * Get the export permission structure for this <mp, client> tuple.