diff options
author | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2022-10-07 13:57:28 +0300 |
---|---|---|
committer | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2022-11-14 19:50:43 +0300 |
commit | 2f56a3f8d824d34525951483e95b0ed04c5954bf (patch) | |
tree | 8cb18da89193dbe1147610c2514d3e4d79fb9bd7 /fs/ntfs3/inode.c | |
parent | ba1189288905dc33c16a8e56d6af9c8d1bc5ca8f (diff) | |
download | lwn-2f56a3f8d824d34525951483e95b0ed04c5954bf.tar.gz lwn-2f56a3f8d824d34525951483e95b0ed04c5954bf.zip |
fs/ntfs3: Fixing work with sparse clusters
Simplify logic in ntfs_extend_initialized_size, ntfs_sparse_cluster
and ntfs_fallocate.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Diffstat (limited to 'fs/ntfs3/inode.c')
-rw-r--r-- | fs/ntfs3/inode.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index 763dd982a43a..d8d00ffe7a1f 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -646,7 +646,12 @@ static noinline int ntfs_get_block_vbo(struct inode *inode, u64 vbo, bh->b_size = block_size; off = vbo & (PAGE_SIZE - 1); set_bh_page(bh, page, off); - ll_rw_block(REQ_OP_READ, 1, &bh); + + lock_buffer(bh); + bh->b_end_io = end_buffer_read_sync; + get_bh(bh); + submit_bh(REQ_OP_READ, bh); + wait_on_buffer(bh); if (!buffer_uptodate(bh)) { err = -EIO; |