Message ID | 20241022145024.1046883-2-maharmstone@fb.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | btrfs: io_uring interface for encoded reads | expand |
On 22/10/24 22:50, Mark Harmstone wrote: > iocb->ki_pos isn't used after this function, so there's no point in > changing its value. > > Signed-off-by: Mark Harmstone <maharmstone@fb.com> > --- > fs/btrfs/inode.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 7c5ef2c5c7e8..94098a4c782d 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -9252,7 +9252,7 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, > ret = btrfs_encoded_read_inline(iocb, iter, start, lockend, > &cached_state, extent_start, > count, encoded, &unlocked); > - goto out; > + goto out_em; Proceed to out_unlock_extent; free_extent_map() has already been called two lines above, and %em is now NULL. Thanks, Anand > } > > /* > @@ -9318,9 +9318,6 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, > &unlocked); > } > > -out: > - if (ret >= 0) > - iocb->ki_pos += encoded->len; > out_em: > free_extent_map(em); > out_unlock_extent:
On 30/10/24 01:46, Anand Jain wrote: > On 22/10/24 22:50, Mark Harmstone wrote: >> iocb->ki_pos isn't used after this function, so there's no point in >> changing its value. >> >> Signed-off-by: Mark Harmstone <maharmstone@fb.com> >> --- >> fs/btrfs/inode.c | 5 +---- >> 1 file changed, 1 insertion(+), 4 deletions(-) >> >> diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c >> index 7c5ef2c5c7e8..94098a4c782d 100644 >> --- a/fs/btrfs/inode.c >> +++ b/fs/btrfs/inode.c >> @@ -9252,7 +9252,7 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, >> struct iov_iter *iter, >> ret = btrfs_encoded_read_inline(iocb, iter, start, lockend, >> &cached_state, extent_start, >> count, encoded, &unlocked); >> - goto out; >> + goto out_em; > > > Proceed to out_unlock_extent; free_extent_map() has already been called > two lines above, and %em is now NULL. > > Thanks, Anand > Thanks Anand, I'll send a patch for this. Mark
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 7c5ef2c5c7e8..94098a4c782d 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -9252,7 +9252,7 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, ret = btrfs_encoded_read_inline(iocb, iter, start, lockend, &cached_state, extent_start, count, encoded, &unlocked); - goto out; + goto out_em; } /* @@ -9318,9 +9318,6 @@ ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter, &unlocked); } -out: - if (ret >= 0) - iocb->ki_pos += encoded->len; out_em: free_extent_map(em); out_unlock_extent:
iocb->ki_pos isn't used after this function, so there's no point in changing its value. Signed-off-by: Mark Harmstone <maharmstone@fb.com> --- fs/btrfs/inode.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)