|
@@ -12,7 +12,6 @@
|
|
#include <linux/stat.h>
|
|
#include <linux/stat.h>
|
|
#include <linux/time.h>
|
|
#include <linux/time.h>
|
|
#include <linux/string.h>
|
|
#include <linux/string.h>
|
|
-#include <linux/quotaops.h>
|
|
|
|
#include <linux/buffer_head.h>
|
|
#include <linux/buffer_head.h>
|
|
#include <linux/capability.h>
|
|
#include <linux/capability.h>
|
|
#include <linux/bitops.h>
|
|
#include <linux/bitops.h>
|
|
@@ -85,9 +84,6 @@ void ufs_free_fragments(struct inode *inode, u64 fragment, unsigned count)
|
|
"bit already cleared for fragment %u", i);
|
|
"bit already cleared for fragment %u", i);
|
|
}
|
|
}
|
|
|
|
|
|
- dquot_free_block(inode, count);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
fs32_add(sb, &ucg->cg_cs.cs_nffree, count);
|
|
fs32_add(sb, &ucg->cg_cs.cs_nffree, count);
|
|
uspi->cs_total.cs_nffree += count;
|
|
uspi->cs_total.cs_nffree += count;
|
|
fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count);
|
|
fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count);
|
|
@@ -195,7 +191,6 @@ do_more:
|
|
ubh_setblock(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
|
|
ubh_setblock(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
|
|
if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD)
|
|
if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD)
|
|
ufs_clusteracct (sb, ucpi, blkno, 1);
|
|
ufs_clusteracct (sb, ucpi, blkno, 1);
|
|
- dquot_free_block(inode, uspi->s_fpb);
|
|
|
|
|
|
|
|
fs32_add(sb, &ucg->cg_cs.cs_nbfree, 1);
|
|
fs32_add(sb, &ucg->cg_cs.cs_nbfree, 1);
|
|
uspi->cs_total.cs_nbfree++;
|
|
uspi->cs_total.cs_nbfree++;
|
|
@@ -511,7 +506,6 @@ static u64 ufs_add_fragments(struct inode *inode, u64 fragment,
|
|
struct ufs_cg_private_info * ucpi;
|
|
struct ufs_cg_private_info * ucpi;
|
|
struct ufs_cylinder_group * ucg;
|
|
struct ufs_cylinder_group * ucg;
|
|
unsigned cgno, fragno, fragoff, count, fragsize, i;
|
|
unsigned cgno, fragno, fragoff, count, fragsize, i;
|
|
- int ret;
|
|
|
|
|
|
|
|
UFSD("ENTER, fragment %llu, oldcount %u, newcount %u\n",
|
|
UFSD("ENTER, fragment %llu, oldcount %u, newcount %u\n",
|
|
(unsigned long long)fragment, oldcount, newcount);
|
|
(unsigned long long)fragment, oldcount, newcount);
|
|
@@ -557,11 +551,6 @@ static u64 ufs_add_fragments(struct inode *inode, u64 fragment,
|
|
fs32_add(sb, &ucg->cg_frsum[fragsize - count], 1);
|
|
fs32_add(sb, &ucg->cg_frsum[fragsize - count], 1);
|
|
for (i = oldcount; i < newcount; i++)
|
|
for (i = oldcount; i < newcount; i++)
|
|
ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i);
|
|
ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i);
|
|
- ret = dquot_alloc_block(inode, count);
|
|
|
|
- if (ret) {
|
|
|
|
- *err = ret;
|
|
|
|
- return 0;
|
|
|
|
- }
|
|
|
|
|
|
|
|
fs32_sub(sb, &ucg->cg_cs.cs_nffree, count);
|
|
fs32_sub(sb, &ucg->cg_cs.cs_nffree, count);
|
|
fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count);
|
|
fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count);
|
|
@@ -598,7 +587,6 @@ static u64 ufs_alloc_fragments(struct inode *inode, unsigned cgno,
|
|
struct ufs_cylinder_group * ucg;
|
|
struct ufs_cylinder_group * ucg;
|
|
unsigned oldcg, i, j, k, allocsize;
|
|
unsigned oldcg, i, j, k, allocsize;
|
|
u64 result;
|
|
u64 result;
|
|
- int ret;
|
|
|
|
|
|
|
|
UFSD("ENTER, ino %lu, cgno %u, goal %llu, count %u\n",
|
|
UFSD("ENTER, ino %lu, cgno %u, goal %llu, count %u\n",
|
|
inode->i_ino, cgno, (unsigned long long)goal, count);
|
|
inode->i_ino, cgno, (unsigned long long)goal, count);
|
|
@@ -667,7 +655,6 @@ cg_found:
|
|
for (i = count; i < uspi->s_fpb; i++)
|
|
for (i = count; i < uspi->s_fpb; i++)
|
|
ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, goal + i);
|
|
ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, goal + i);
|
|
i = uspi->s_fpb - count;
|
|
i = uspi->s_fpb - count;
|
|
- dquot_free_block(inode, i);
|
|
|
|
|
|
|
|
fs32_add(sb, &ucg->cg_cs.cs_nffree, i);
|
|
fs32_add(sb, &ucg->cg_cs.cs_nffree, i);
|
|
uspi->cs_total.cs_nffree += i;
|
|
uspi->cs_total.cs_nffree += i;
|
|
@@ -679,11 +666,6 @@ cg_found:
|
|
result = ufs_bitmap_search (sb, ucpi, goal, allocsize);
|
|
result = ufs_bitmap_search (sb, ucpi, goal, allocsize);
|
|
if (result == INVBLOCK)
|
|
if (result == INVBLOCK)
|
|
return 0;
|
|
return 0;
|
|
- ret = dquot_alloc_block(inode, count);
|
|
|
|
- if (ret) {
|
|
|
|
- *err = ret;
|
|
|
|
- return 0;
|
|
|
|
- }
|
|
|
|
for (i = 0; i < count; i++)
|
|
for (i = 0; i < count; i++)
|
|
ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, result + i);
|
|
ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, result + i);
|
|
|
|
|
|
@@ -718,7 +700,6 @@ static u64 ufs_alloccg_block(struct inode *inode,
|
|
struct ufs_super_block_first * usb1;
|
|
struct ufs_super_block_first * usb1;
|
|
struct ufs_cylinder_group * ucg;
|
|
struct ufs_cylinder_group * ucg;
|
|
u64 result, blkno;
|
|
u64 result, blkno;
|
|
- int ret;
|
|
|
|
|
|
|
|
UFSD("ENTER, goal %llu\n", (unsigned long long)goal);
|
|
UFSD("ENTER, goal %llu\n", (unsigned long long)goal);
|
|
|
|
|
|
@@ -752,11 +733,6 @@ gotit:
|
|
ubh_clrblock (UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
|
|
ubh_clrblock (UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
|
|
if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD)
|
|
if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD)
|
|
ufs_clusteracct (sb, ucpi, blkno, -1);
|
|
ufs_clusteracct (sb, ucpi, blkno, -1);
|
|
- ret = dquot_alloc_block(inode, uspi->s_fpb);
|
|
|
|
- if (ret) {
|
|
|
|
- *err = ret;
|
|
|
|
- return INVBLOCK;
|
|
|
|
- }
|
|
|
|
|
|
|
|
fs32_sub(sb, &ucg->cg_cs.cs_nbfree, 1);
|
|
fs32_sub(sb, &ucg->cg_cs.cs_nbfree, 1);
|
|
uspi->cs_total.cs_nbfree--;
|
|
uspi->cs_total.cs_nbfree--;
|