Re: [PATCH] xfs_restore: remove DMAPI support

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

 



On Thu, Feb 10, 2022 at 04:46:13PM -0600, Eric Sandeen wrote:
> On 2/3/22 11:45 AM, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@xxxxxxxxxx>
> > 
> > The last of the DMAPI stubs were removed from Linux 5.17, so drop this
> > functionality altogether.
> 
> Why is this better than letting it EINVAL/ENOTTY/ENOWHATEVER when the
> ioctl gets called?

5.17 removed the ioctl definitions, so xfsdump won't build anymore.

> Though I don't really care, so I will go ahead and
> review it. :)
> 
> At this point I suppose finally pulling in Anthony's
> 	xfsdump: remove BMV_IF_NO_DMAPI_READ flag
> would make sense as well.

Yes.

> 
> > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> > ---
> >  doc/xfsdump.html  |    1 -
> >  po/de.po          |    5 ---
> >  po/pl.po          |    5 ---
> >  restore/content.c |   99 +++--------------------------------------------------
> >  restore/tree.c    |   33 ------------------
> >  restore/tree.h    |    1 -
> >  6 files changed, 6 insertions(+), 138 deletions(-)
> > 
> 
> ...
> 
> > diff --git a/restore/content.c b/restore/content.c
> > index 6b22965..e9b0a07 100644
> > --- a/restore/content.c
> > +++ b/restore/content.c
> > @@ -477,9 +477,6 @@ struct pers {
> >  			/* how many pages following the header page are reserved
> >  			 * for the subtree descriptors
> >  			 */
> > -		bool_t restoredmpr;
> > -			/* restore DMAPI event settings
> > -			 */
> >  		bool_t restoreextattrpr;
> >  			/* restore extended attributes
> >  			 */
> > @@ -858,7 +855,6 @@ static void partial_reg(ix_t d_index, xfs_ino_t ino, off64_t fsize,
> >                          off64_t offset, off64_t sz);
> >  static bool_t partial_check (xfs_ino_t ino, off64_t fsize);
> >  static bool_t partial_check2 (partial_rest_t *isptr, off64_t fsize);
> > -static int do_fssetdm_by_handle(char *path, fsdmidata_t *fdmp);
> 
> with fsdmidata_t completely gone I think its typedef can go too?
MProbably.


> ...
> 
> > @@ -8796,19 +8748,6 @@ restore_extattr(drive_t *drivep,
> >  			}
> >  		} else if (isfilerestored && path[0] != '\0') {
> >  			setextattr(path, ahdrp);
> 
> Pretty sure there's a hunk in setextattr that could go too, right?
> 
> @@ -8840,20 +8779,16 @@ restore_dir_extattr_cb_cb(extattrhdr_t *ahdrp, void *ctxp)
>  static void
>  setextattr(char *path, extattrhdr_t *ahdrp)
>  {
> -       static  char dmiattr[] = "SGI_DMI_";
>         bool_t isrootpr = ahdrp->ah_flags & EXTATTRHDR_FLAGS_ROOT;
>         bool_t issecurepr = ahdrp->ah_flags & EXTATTRHDR_FLAGS_SECURE;
> -       bool_t isdmpr;
>         int attr_namespace;
>         int rval;
>  
> -       isdmpr = (isrootpr &&
> -                  !strncmp((char *)(&ahdrp[1]), dmiattr, sizeof(dmiattr)-1));
>  
>         /* If restoreextattrpr not set, then we are here because -D was
>          * specified. So return unless it looks like a root DMAPI attribute.
>          */
> -       if (!persp->a.restoreextattrpr && !isdmpr)
> +       if (!persp->a.restoreextattrpr)
>                 return;

Er... yes?  Looks right, but xfsdump is enough of a mess... :/

> 
> > -
> > -			if (persp->a.dstdirisxfspr && persp->a.restoredmpr) {
> > -				int flag = 0;
> > -				char *attrname = (char *)&ahdrp[1];
> > -				if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_ROOT)
> > -					flag = ATTR_ROOT;
> > -				else if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_SECURE)
> > -					flag = ATTR_SECURE;
> > -
> > -				HsmRestoreAttribute(flag,
> > -						     attrname,
> > -						     &strctxp->sc_hsmflags);
> 
> And with the only user of strctxp gone it's now an unused local var, I think.

I don't do words that lack  ^^^^^^^ vowels.

> Anyway....
> 
> I wonder if there's still more that could be ripped out:
> 
>         uint32_t        bs_dmevmask;    /* DMI event mask        4    6c */
>         uint16_t        bs_dmstate;     /* DMI state info        2    6e */
> 
> Those can't go, I guess, because they are part of the header in the on-disk format.
> 
> But why are we still fiddling with them? For that matter, why does hsmapi.c still
> exist at all?

It probably can go too.

> I have the sense that if we really want to remove all dmapi support there's further
> to go, but as with all things xfsdump, it scares me a bit ...

<nod>

--D

> -Eric
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux