Searched hist:"7 f87fc2d" (Results 1 – 3 of 3) sorted by relevance
/openbmc/linux/fs/nfsd/ |
H A D | xdr3.h | 7f87fc2d Thu Oct 22 18:46:58 CDT 2020 Chuck Lever <chuck.lever@oracle.com> NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
The benefit of the xdr_stream helpers is that they transparently handle encoding an XDR data item that crosses page boundaries. Most of the open-coded logic to do that here can be eliminated.
A sub-buffer and sub-stream are set up as a sink buffer for the directory entry encoder. As an entry is encoded, it is added to the end of the content in this buffer/stream. The total length of the directory list is tracked in the buffer's @len field.
When it comes time to encode the Reply, the sub-buffer is merged into rq_res's page array at the correct place using xdr_write_pages().
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | nfs3proc.c | 7f87fc2d Thu Oct 22 18:46:58 CDT 2020 Chuck Lever <chuck.lever@oracle.com> NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
The benefit of the xdr_stream helpers is that they transparently handle encoding an XDR data item that crosses page boundaries. Most of the open-coded logic to do that here can be eliminated.
A sub-buffer and sub-stream are set up as a sink buffer for the directory entry encoder. As an entry is encoded, it is added to the end of the content in this buffer/stream. The total length of the directory list is tracked in the buffer's @len field.
When it comes time to encode the Reply, the sub-buffer is merged into rq_res's page array at the correct place using xdr_write_pages().
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|
H A D | nfs3xdr.c | 7f87fc2d Thu Oct 22 18:46:58 CDT 2020 Chuck Lever <chuck.lever@oracle.com> NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
The benefit of the xdr_stream helpers is that they transparently handle encoding an XDR data item that crosses page boundaries. Most of the open-coded logic to do that here can be eliminated.
A sub-buffer and sub-stream are set up as a sink buffer for the directory entry encoder. As an entry is encoded, it is added to the end of the content in this buffer/stream. The total length of the directory list is tracked in the buffer's @len field.
When it comes time to encode the Reply, the sub-buffer is merged into rq_res's page array at the correct place using xdr_write_pages().
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
|