|
@@ -749,7 +749,6 @@ xfs_ialloc(
|
|
|
xfs_nlink_t nlink,
|
|
|
dev_t rdev,
|
|
|
prid_t prid,
|
|
|
- int okalloc,
|
|
|
xfs_buf_t **ialloc_context,
|
|
|
xfs_inode_t **ipp)
|
|
|
{
|
|
@@ -765,7 +764,7 @@ xfs_ialloc(
|
|
|
* Call the space management code to pick
|
|
|
* the on-disk inode to be allocated.
|
|
|
*/
|
|
|
- error = xfs_dialloc(tp, pip ? pip->i_ino : 0, mode, okalloc,
|
|
|
+ error = xfs_dialloc(tp, pip ? pip->i_ino : 0, mode,
|
|
|
ialloc_context, &ino);
|
|
|
if (error)
|
|
|
return error;
|
|
@@ -957,7 +956,6 @@ xfs_dir_ialloc(
|
|
|
xfs_nlink_t nlink,
|
|
|
dev_t rdev,
|
|
|
prid_t prid, /* project id */
|
|
|
- int okalloc, /* ok to allocate new space */
|
|
|
xfs_inode_t **ipp, /* pointer to inode; it will be
|
|
|
locked. */
|
|
|
int *committed)
|
|
@@ -988,8 +986,8 @@ xfs_dir_ialloc(
|
|
|
* transaction commit so that no other process can steal
|
|
|
* the inode(s) that we've just allocated.
|
|
|
*/
|
|
|
- code = xfs_ialloc(tp, dp, mode, nlink, rdev, prid, okalloc,
|
|
|
- &ialloc_context, &ip);
|
|
|
+ code = xfs_ialloc(tp, dp, mode, nlink, rdev, prid, &ialloc_context,
|
|
|
+ &ip);
|
|
|
|
|
|
/*
|
|
|
* Return an error if we were unable to allocate a new inode.
|
|
@@ -1061,7 +1059,7 @@ xfs_dir_ialloc(
|
|
|
* this call should always succeed.
|
|
|
*/
|
|
|
code = xfs_ialloc(tp, dp, mode, nlink, rdev, prid,
|
|
|
- okalloc, &ialloc_context, &ip);
|
|
|
+ &ialloc_context, &ip);
|
|
|
|
|
|
/*
|
|
|
* If we get an error at this point, return to the caller
|
|
@@ -1182,11 +1180,6 @@ xfs_create(
|
|
|
xfs_flush_inodes(mp);
|
|
|
error = xfs_trans_alloc(mp, tres, resblks, 0, 0, &tp);
|
|
|
}
|
|
|
- if (error == -ENOSPC) {
|
|
|
- /* No space at all so try a "no-allocation" reservation */
|
|
|
- resblks = 0;
|
|
|
- error = xfs_trans_alloc(mp, tres, 0, 0, 0, &tp);
|
|
|
- }
|
|
|
if (error)
|
|
|
goto out_release_inode;
|
|
|
|
|
@@ -1203,19 +1196,13 @@ xfs_create(
|
|
|
if (error)
|
|
|
goto out_trans_cancel;
|
|
|
|
|
|
- if (!resblks) {
|
|
|
- error = xfs_dir_canenter(tp, dp, name);
|
|
|
- if (error)
|
|
|
- goto out_trans_cancel;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* A newly created regular or special file just has one directory
|
|
|
* entry pointing to them, but a directory also the "." entry
|
|
|
* pointing to itself.
|
|
|
*/
|
|
|
- error = xfs_dir_ialloc(&tp, dp, mode, is_dir ? 2 : 1, rdev,
|
|
|
- prid, resblks > 0, &ip, NULL);
|
|
|
+ error = xfs_dir_ialloc(&tp, dp, mode, is_dir ? 2 : 1, rdev, prid, &ip,
|
|
|
+ NULL);
|
|
|
if (error)
|
|
|
goto out_trans_cancel;
|
|
|
|
|
@@ -1340,11 +1327,6 @@ xfs_create_tmpfile(
|
|
|
tres = &M_RES(mp)->tr_create_tmpfile;
|
|
|
|
|
|
error = xfs_trans_alloc(mp, tres, resblks, 0, 0, &tp);
|
|
|
- if (error == -ENOSPC) {
|
|
|
- /* No space at all so try a "no-allocation" reservation */
|
|
|
- resblks = 0;
|
|
|
- error = xfs_trans_alloc(mp, tres, 0, 0, 0, &tp);
|
|
|
- }
|
|
|
if (error)
|
|
|
goto out_release_inode;
|
|
|
|
|
@@ -1353,8 +1335,7 @@ xfs_create_tmpfile(
|
|
|
if (error)
|
|
|
goto out_trans_cancel;
|
|
|
|
|
|
- error = xfs_dir_ialloc(&tp, dp, mode, 1, 0,
|
|
|
- prid, resblks > 0, &ip, NULL);
|
|
|
+ error = xfs_dir_ialloc(&tp, dp, mode, 1, 0, prid, &ip, NULL);
|
|
|
if (error)
|
|
|
goto out_trans_cancel;
|
|
|
|