Re: [PATCH 1/1] pNFS/filelayout: check layout segment range

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 8, 2024 at 1:52 PM Olga Kornievskaia
<olga.kornievskaia@xxxxxxxxx> wrote:
>
> On Wed, May 8, 2024 at 10:50 AM Benjamin Coddington <bcodding@xxxxxxxxxx> wrote:
> >
> > On 7 May 2024, at 15:59, Olga Kornievskaia wrote:
> >
> > > From: Olga Kornievskaia <kolga@xxxxxxxxxx>
> > >
> > > Before doing the IO, check that we have the layout covering the range of
> > > IO.

I should add that this patch extends previously posted 2 patches by
Anna for the partial layout support for filelayout (as in they go
together).

> > >
> > > Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx>
> > > ---
> > >  fs/nfs/filelayout/filelayout.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/fs/nfs/filelayout/filelayout.c b/fs/nfs/filelayout/filelayout.c
> > > index 85d2dc9bc212..bf3ba2e98f33 100644
> > > --- a/fs/nfs/filelayout/filelayout.c
> > > +++ b/fs/nfs/filelayout/filelayout.c
> > > @@ -868,6 +868,7 @@ filelayout_pg_init_read(struct nfs_pageio_descriptor *pgio,
> > >                       struct nfs_page *req)
> > >  {
> > >       pnfs_generic_pg_check_layout(pgio);
> > > +     pnfs_generic_pg_check_range(pgio, req);
> > >       if (!pgio->pg_lseg) {
> > >               pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode,
> > >                                                     nfs_req_openctx(req),
> > > @@ -892,6 +893,7 @@ filelayout_pg_init_write(struct nfs_pageio_descriptor *pgio,
> > >                        struct nfs_page *req)
> > >  {
> > >       pnfs_generic_pg_check_layout(pgio);
> > > +     pnfs_generic_pg_check_range(pgio, req);
> > >       if (!pgio->pg_lseg) {
> > >               pgio->pg_lseg = fl_pnfs_update_layout(pgio->pg_inode,
> > >                                                     nfs_req_openctx(req),
> > > --
> > > 2.39.1
> >
> > Looks right, less duplication to just call pnfs_generic_pg_check_range()
> > from pnfs_generic_pg_check_layout() now.
>
> filelayout.c is not the only caller of pnfs_generic_pg_check_layout().
> flexfilelayout has a wrapper around those 2 functions and calls that.
> however, the argument about duplicated code frustrates me because
> currently the code has 4lines. but if we were to re-write the same
> with a function, it would be more lines used in total (flexfiles has 8
> lines for it).
>
> >
> > Reviewed-by: Benjamin Coddington <bcodding@xxxxxxxxxx>
> >
> > Ben
> >





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux