mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
xfs: add bmapi nodiscard flag
Freed extents are unconditionally discarded when online discard is enabled. Define XFS_BMAPI_NODISCARD to allow callers to bypass discards when unnecessary. For example, this will be useful for eofblocks trimming. This patch does not change behavior. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
e6631f8554
commit
fcb762f5de
7 changed files with 87 additions and 18 deletions
|
@ -191,12 +191,35 @@ xfs_alloc_vextent(
|
|||
* Free an extent.
|
||||
*/
|
||||
int /* error */
|
||||
xfs_free_extent(
|
||||
__xfs_free_extent(
|
||||
struct xfs_trans *tp, /* transaction pointer */
|
||||
xfs_fsblock_t bno, /* starting block number of extent */
|
||||
xfs_extlen_t len, /* length of extent */
|
||||
struct xfs_owner_info *oinfo, /* extent owner */
|
||||
enum xfs_ag_resv_type type); /* block reservation type */
|
||||
enum xfs_ag_resv_type type, /* block reservation type */
|
||||
bool skip_discard);
|
||||
|
||||
static inline int
|
||||
xfs_free_extent(
|
||||
struct xfs_trans *tp,
|
||||
xfs_fsblock_t bno,
|
||||
xfs_extlen_t len,
|
||||
struct xfs_owner_info *oinfo,
|
||||
enum xfs_ag_resv_type type)
|
||||
{
|
||||
return __xfs_free_extent(tp, bno, len, oinfo, type, false);
|
||||
}
|
||||
|
||||
static inline int
|
||||
xfs_free_extent_nodiscard(
|
||||
struct xfs_trans *tp,
|
||||
xfs_fsblock_t bno,
|
||||
xfs_extlen_t len,
|
||||
struct xfs_owner_info *oinfo,
|
||||
enum xfs_ag_resv_type type)
|
||||
{
|
||||
return __xfs_free_extent(tp, bno, len, oinfo, type, true);
|
||||
}
|
||||
|
||||
int /* error */
|
||||
xfs_alloc_lookup_le(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue