On Mon, Jul 09, 2001 at 10:05:37AM -0500, James A Goodwin wrote:
> Does anyone know the extent to which DMAPI information is handled by
> xfsdump/xfsrestore? There are two things that worry me:
> 1. Are xfsdump/xfsrestore smart enough to realize when data is not resident
> on XFS disks? In other words, the data has been migrated by the DMAPI
> client, and dm_puch_hole() was used to free up the XFS disk resources.
> When doing a dump, I'd rather have xfsdump note that there is a hole rather
> than dredging all the migrated data back up through the DMAPI.
> The xfsdump man page mentions a "-a" option for
> working with DMF that sounds a lot like an answer to #1, but I'd be
> surprised if there was any relationship between DMF and DMAPI.
I'm not that "au fait" with DMAPI stuff - Dean (roehrich@xxxxxxx)
would be the one with answers to such questions :)
the "-a" option is used to dump DMF dual-state and unmigrating
files as offline (so no data is dumped).
Looking at the code,
- its extent data will be dumped as 1 extent with a hole
(so the data aint dumped)
- its DMF attributes won't be dumped but a replacement DMF attribute
(i.e. DMF_ST_OFFLINE) will be dumped in its place
- the stat buf's bs_devmask will be or'ed with DM_EVENT_READ
(I don't know if this is enought for all DMAPI users or just DMF ?)
Having said that, all the relevant code is #ifdef'ed out
by the DMEXTATTR macro, and DMEXTATTR is commented out in the Makefile
Andrew Gildfind (ajag@xxxxxxx) did this, I believe as the
DMAPI code wasn't complete at the time.
Turning it back on may require some porting issues.
Any comments, Andrew ?
Someone should look into getting this going.
> 2. What do xfsdump/xfsrestore do with DM attributes, regions, and event
> lists? Are they stored, ignored, or something else?
I presumed all the DMAPI event stuff and other related data is
in extended attributes. And all the extended attributes are
dumped out (unless the -A option is used).
Hmmmm....xfsrestore takes the -D option to restore DMAPI event
settings. If F_FSSETDM macro is set then it uses fcntl(F_FSSETDM).
All this code is #ifdef'ed out by the macro F_FSSETDM.
This doesn't seem to be turned on in IRIX or Linux.
Dean, is it not necessary to call fcntl(F_FSSETDM) ?