From: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx> When we call create(), lseek() and write() sequentially, offset != 0 cannot be used as a judgment condition for whether the file already has extents. This patch uses prev.br_startoff instead of offset != 0. Signed-off-by: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx> --- fs/xfs/libxfs/xfs_bmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 36dd08d13293..94e7aeed9e95 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -3536,7 +3536,7 @@ xfs_bmap_btalloc_at_eof( * or it's the first allocation in a file, just try for a stripe aligned * allocation. */ - if (ap->offset) { + if (ap->prev.br_startoff != NULLFILEOFF) { xfs_extlen_t nextminlen = 0; /* -- 2.41.1