symlink_repair.c (0313dd8fac1ecc3d03ba3cc31f621d86beb8bd48) symlink_repair.c (5d31a85dcc1fa4c5d4a925c6da67751653a700ba)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (c) 2018-2024 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

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

416 xfs_trans_ijoin(sc->tp, sc->tempip, 0);
417
418 /*
419 * Reserve resources to reinitialize the target. We're allowed to
420 * exceed file quota to repair inconsistent metadata, though this is
421 * unlikely.
422 */
423 fs_blocks = xfs_symlink_blocks(sc->mp, target_len);
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (c) 2018-2024 Oracle. All Rights Reserved.
4 * Author: Darrick J. Wong <djwong@kernel.org>
5 */
6#include "xfs.h"
7#include "xfs_fs.h"
8#include "xfs_shared.h"

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

416 xfs_trans_ijoin(sc->tp, sc->tempip, 0);
417
418 /*
419 * Reserve resources to reinitialize the target. We're allowed to
420 * exceed file quota to repair inconsistent metadata, though this is
421 * unlikely.
422 */
423 fs_blocks = xfs_symlink_blocks(sc->mp, target_len);
424 resblks = XFS_SYMLINK_SPACE_RES(sc->mp, target_len, fs_blocks);
424 resblks = xfs_symlink_space_res(sc->mp, target_len, fs_blocks);
425 error = xfs_trans_reserve_quota_nblks(sc->tp, sc->tempip, resblks, 0,
426 true);
427 if (error)
428 return error;
429
430 /* Erase the dummy target set up by the tempfile initialization. */
431 xfs_idestroy_fork(&sc->tempip->i_df);
432 sc->tempip->i_df.if_bytes = 0;

--- 74 unchanged lines hidden ---
425 error = xfs_trans_reserve_quota_nblks(sc->tp, sc->tempip, resblks, 0,
426 true);
427 if (error)
428 return error;
429
430 /* Erase the dummy target set up by the tempfile initialization. */
431 xfs_idestroy_fork(&sc->tempip->i_df);
432 sc->tempip->i_df.if_bytes = 0;

--- 74 unchanged lines hidden ---