| From | David Howells <> | Subject | Re: [PATCH v20 13/32] ceph: Provide a splice-read stub | Date | Fri, 19 May 2023 10:24:48 +0100 |
| |
Xiubo Li <xiubli@redhat.com> wrote:
> > + ret = ceph_get_caps(in, CEPH_CAP_FILE_RD, want, -1, &got); > > + if (ret < 0) { > > + ceph_end_io_read(inode); > > + return ret; > > + } > > + > > + if ((got & (CEPH_CAP_FILE_CACHE | CEPH_CAP_FILE_LAZYIO)) == 0) { > > + dout("splice_read/sync %p %llx.%llx %llu~%zu got cap refs on %s\n", > > + inode, ceph_vinop(inode), *ppos, len, > > + ceph_cap_string(got)); > > + > > + ceph_end_io_read(inode); > > + return direct_splice_read(in, ppos, pipe, len, flags); > > Shouldn't we release cap ref before returning here ?
Ummm... Even if we got no caps?
David
|