github.com/MerlinKodo/gvisor@v0.0.0-20231110090155-957f62ecf90e/pkg/sentry/vfs/vfs_state_autogen.go (about)

     1  // automatically generated by stateify.
     2  
     3  //go:build !check_invariants
     4  // +build !check_invariants
     5  
     6  package vfs
     7  
     8  import (
     9  	"github.com/MerlinKodo/gvisor/pkg/state"
    10  )
    11  
    12  func (a *anonFilesystemType) StateTypeName() string {
    13  	return "pkg/sentry/vfs.anonFilesystemType"
    14  }
    15  
    16  func (a *anonFilesystemType) StateFields() []string {
    17  	return []string{}
    18  }
    19  
    20  func (a *anonFilesystemType) beforeSave() {}
    21  
    22  // +checklocksignore
    23  func (a *anonFilesystemType) StateSave(stateSinkObject state.Sink) {
    24  	a.beforeSave()
    25  }
    26  
    27  func (a *anonFilesystemType) afterLoad() {}
    28  
    29  // +checklocksignore
    30  func (a *anonFilesystemType) StateLoad(stateSourceObject state.Source) {
    31  }
    32  
    33  func (fs *anonFilesystem) StateTypeName() string {
    34  	return "pkg/sentry/vfs.anonFilesystem"
    35  }
    36  
    37  func (fs *anonFilesystem) StateFields() []string {
    38  	return []string{
    39  		"vfsfs",
    40  		"devMinor",
    41  	}
    42  }
    43  
    44  func (fs *anonFilesystem) beforeSave() {}
    45  
    46  // +checklocksignore
    47  func (fs *anonFilesystem) StateSave(stateSinkObject state.Sink) {
    48  	fs.beforeSave()
    49  	stateSinkObject.Save(0, &fs.vfsfs)
    50  	stateSinkObject.Save(1, &fs.devMinor)
    51  }
    52  
    53  func (fs *anonFilesystem) afterLoad() {}
    54  
    55  // +checklocksignore
    56  func (fs *anonFilesystem) StateLoad(stateSourceObject state.Source) {
    57  	stateSourceObject.Load(0, &fs.vfsfs)
    58  	stateSourceObject.Load(1, &fs.devMinor)
    59  }
    60  
    61  func (d *anonDentry) StateTypeName() string {
    62  	return "pkg/sentry/vfs.anonDentry"
    63  }
    64  
    65  func (d *anonDentry) StateFields() []string {
    66  	return []string{
    67  		"vfsd",
    68  		"name",
    69  		"watches",
    70  	}
    71  }
    72  
    73  func (d *anonDentry) beforeSave() {}
    74  
    75  // +checklocksignore
    76  func (d *anonDentry) StateSave(stateSinkObject state.Sink) {
    77  	d.beforeSave()
    78  	stateSinkObject.Save(0, &d.vfsd)
    79  	stateSinkObject.Save(1, &d.name)
    80  	stateSinkObject.Save(2, &d.watches)
    81  }
    82  
    83  func (d *anonDentry) afterLoad() {}
    84  
    85  // +checklocksignore
    86  func (d *anonDentry) StateLoad(stateSourceObject state.Source) {
    87  	stateSourceObject.Load(0, &d.vfsd)
    88  	stateSourceObject.Load(1, &d.name)
    89  	stateSourceObject.Load(2, &d.watches)
    90  }
    91  
    92  func (d *Dentry) StateTypeName() string {
    93  	return "pkg/sentry/vfs.Dentry"
    94  }
    95  
    96  func (d *Dentry) StateFields() []string {
    97  	return []string{
    98  		"dead",
    99  		"evictable",
   100  		"mounts",
   101  		"impl",
   102  	}
   103  }
   104  
   105  func (d *Dentry) beforeSave() {}
   106  
   107  // +checklocksignore
   108  func (d *Dentry) StateSave(stateSinkObject state.Sink) {
   109  	d.beforeSave()
   110  	stateSinkObject.Save(0, &d.dead)
   111  	stateSinkObject.Save(1, &d.evictable)
   112  	stateSinkObject.Save(2, &d.mounts)
   113  	stateSinkObject.Save(3, &d.impl)
   114  }
   115  
   116  func (d *Dentry) afterLoad() {}
   117  
   118  // +checklocksignore
   119  func (d *Dentry) StateLoad(stateSourceObject state.Source) {
   120  	stateSourceObject.Load(0, &d.dead)
   121  	stateSourceObject.Load(1, &d.evictable)
   122  	stateSourceObject.Load(2, &d.mounts)
   123  	stateSourceObject.Load(3, &d.impl)
   124  }
   125  
   126  func (kind *DeviceKind) StateTypeName() string {
   127  	return "pkg/sentry/vfs.DeviceKind"
   128  }
   129  
   130  func (kind *DeviceKind) StateFields() []string {
   131  	return nil
   132  }
   133  
   134  func (d *devTuple) StateTypeName() string {
   135  	return "pkg/sentry/vfs.devTuple"
   136  }
   137  
   138  func (d *devTuple) StateFields() []string {
   139  	return []string{
   140  		"kind",
   141  		"major",
   142  		"minor",
   143  	}
   144  }
   145  
   146  func (d *devTuple) beforeSave() {}
   147  
   148  // +checklocksignore
   149  func (d *devTuple) StateSave(stateSinkObject state.Sink) {
   150  	d.beforeSave()
   151  	stateSinkObject.Save(0, &d.kind)
   152  	stateSinkObject.Save(1, &d.major)
   153  	stateSinkObject.Save(2, &d.minor)
   154  }
   155  
   156  func (d *devTuple) afterLoad() {}
   157  
   158  // +checklocksignore
   159  func (d *devTuple) StateLoad(stateSourceObject state.Source) {
   160  	stateSourceObject.Load(0, &d.kind)
   161  	stateSourceObject.Load(1, &d.major)
   162  	stateSourceObject.Load(2, &d.minor)
   163  }
   164  
   165  func (r *registeredDevice) StateTypeName() string {
   166  	return "pkg/sentry/vfs.registeredDevice"
   167  }
   168  
   169  func (r *registeredDevice) StateFields() []string {
   170  	return []string{
   171  		"dev",
   172  		"opts",
   173  	}
   174  }
   175  
   176  func (r *registeredDevice) beforeSave() {}
   177  
   178  // +checklocksignore
   179  func (r *registeredDevice) StateSave(stateSinkObject state.Sink) {
   180  	r.beforeSave()
   181  	stateSinkObject.Save(0, &r.dev)
   182  	stateSinkObject.Save(1, &r.opts)
   183  }
   184  
   185  func (r *registeredDevice) afterLoad() {}
   186  
   187  // +checklocksignore
   188  func (r *registeredDevice) StateLoad(stateSourceObject state.Source) {
   189  	stateSourceObject.Load(0, &r.dev)
   190  	stateSourceObject.Load(1, &r.opts)
   191  }
   192  
   193  func (r *RegisterDeviceOptions) StateTypeName() string {
   194  	return "pkg/sentry/vfs.RegisterDeviceOptions"
   195  }
   196  
   197  func (r *RegisterDeviceOptions) StateFields() []string {
   198  	return []string{
   199  		"GroupName",
   200  	}
   201  }
   202  
   203  func (r *RegisterDeviceOptions) beforeSave() {}
   204  
   205  // +checklocksignore
   206  func (r *RegisterDeviceOptions) StateSave(stateSinkObject state.Sink) {
   207  	r.beforeSave()
   208  	stateSinkObject.Save(0, &r.GroupName)
   209  }
   210  
   211  func (r *RegisterDeviceOptions) afterLoad() {}
   212  
   213  // +checklocksignore
   214  func (r *RegisterDeviceOptions) StateLoad(stateSourceObject state.Source) {
   215  	stateSourceObject.Load(0, &r.GroupName)
   216  }
   217  
   218  func (ep *EpollInstance) StateTypeName() string {
   219  	return "pkg/sentry/vfs.EpollInstance"
   220  }
   221  
   222  func (ep *EpollInstance) StateFields() []string {
   223  	return []string{
   224  		"vfsfd",
   225  		"FileDescriptionDefaultImpl",
   226  		"DentryMetadataFileDescriptionImpl",
   227  		"NoLockFD",
   228  		"q",
   229  		"interest",
   230  		"ready",
   231  		"readySeq",
   232  	}
   233  }
   234  
   235  func (ep *EpollInstance) beforeSave() {}
   236  
   237  // +checklocksignore
   238  func (ep *EpollInstance) StateSave(stateSinkObject state.Sink) {
   239  	ep.beforeSave()
   240  	stateSinkObject.Save(0, &ep.vfsfd)
   241  	stateSinkObject.Save(1, &ep.FileDescriptionDefaultImpl)
   242  	stateSinkObject.Save(2, &ep.DentryMetadataFileDescriptionImpl)
   243  	stateSinkObject.Save(3, &ep.NoLockFD)
   244  	stateSinkObject.Save(4, &ep.q)
   245  	stateSinkObject.Save(5, &ep.interest)
   246  	stateSinkObject.Save(6, &ep.ready)
   247  	stateSinkObject.Save(7, &ep.readySeq)
   248  }
   249  
   250  func (ep *EpollInstance) afterLoad() {}
   251  
   252  // +checklocksignore
   253  func (ep *EpollInstance) StateLoad(stateSourceObject state.Source) {
   254  	stateSourceObject.Load(0, &ep.vfsfd)
   255  	stateSourceObject.Load(1, &ep.FileDescriptionDefaultImpl)
   256  	stateSourceObject.Load(2, &ep.DentryMetadataFileDescriptionImpl)
   257  	stateSourceObject.Load(3, &ep.NoLockFD)
   258  	stateSourceObject.Load(4, &ep.q)
   259  	stateSourceObject.Load(5, &ep.interest)
   260  	stateSourceObject.Load(6, &ep.ready)
   261  	stateSourceObject.Load(7, &ep.readySeq)
   262  }
   263  
   264  func (e *epollInterestKey) StateTypeName() string {
   265  	return "pkg/sentry/vfs.epollInterestKey"
   266  }
   267  
   268  func (e *epollInterestKey) StateFields() []string {
   269  	return []string{
   270  		"file",
   271  		"num",
   272  	}
   273  }
   274  
   275  func (e *epollInterestKey) beforeSave() {}
   276  
   277  // +checklocksignore
   278  func (e *epollInterestKey) StateSave(stateSinkObject state.Sink) {
   279  	e.beforeSave()
   280  	stateSinkObject.Save(0, &e.file)
   281  	stateSinkObject.Save(1, &e.num)
   282  }
   283  
   284  func (e *epollInterestKey) afterLoad() {}
   285  
   286  // +checklocksignore
   287  func (e *epollInterestKey) StateLoad(stateSourceObject state.Source) {
   288  	stateSourceObject.Load(0, &e.file)
   289  	stateSourceObject.Load(1, &e.num)
   290  }
   291  
   292  func (epi *epollInterest) StateTypeName() string {
   293  	return "pkg/sentry/vfs.epollInterest"
   294  }
   295  
   296  func (epi *epollInterest) StateFields() []string {
   297  	return []string{
   298  		"epoll",
   299  		"key",
   300  		"waiter",
   301  		"mask",
   302  		"ready",
   303  		"epollInterestEntry",
   304  		"readySeq",
   305  		"userData",
   306  	}
   307  }
   308  
   309  func (epi *epollInterest) beforeSave() {}
   310  
   311  // +checklocksignore
   312  func (epi *epollInterest) StateSave(stateSinkObject state.Sink) {
   313  	epi.beforeSave()
   314  	stateSinkObject.Save(0, &epi.epoll)
   315  	stateSinkObject.Save(1, &epi.key)
   316  	stateSinkObject.Save(2, &epi.waiter)
   317  	stateSinkObject.Save(3, &epi.mask)
   318  	stateSinkObject.Save(4, &epi.ready)
   319  	stateSinkObject.Save(5, &epi.epollInterestEntry)
   320  	stateSinkObject.Save(6, &epi.readySeq)
   321  	stateSinkObject.Save(7, &epi.userData)
   322  }
   323  
   324  // +checklocksignore
   325  func (epi *epollInterest) StateLoad(stateSourceObject state.Source) {
   326  	stateSourceObject.LoadWait(0, &epi.epoll)
   327  	stateSourceObject.Load(1, &epi.key)
   328  	stateSourceObject.Load(2, &epi.waiter)
   329  	stateSourceObject.Load(3, &epi.mask)
   330  	stateSourceObject.Load(4, &epi.ready)
   331  	stateSourceObject.Load(5, &epi.epollInterestEntry)
   332  	stateSourceObject.Load(6, &epi.readySeq)
   333  	stateSourceObject.Load(7, &epi.userData)
   334  	stateSourceObject.AfterLoad(epi.afterLoad)
   335  }
   336  
   337  func (l *epollInterestList) StateTypeName() string {
   338  	return "pkg/sentry/vfs.epollInterestList"
   339  }
   340  
   341  func (l *epollInterestList) StateFields() []string {
   342  	return []string{
   343  		"head",
   344  		"tail",
   345  	}
   346  }
   347  
   348  func (l *epollInterestList) beforeSave() {}
   349  
   350  // +checklocksignore
   351  func (l *epollInterestList) StateSave(stateSinkObject state.Sink) {
   352  	l.beforeSave()
   353  	stateSinkObject.Save(0, &l.head)
   354  	stateSinkObject.Save(1, &l.tail)
   355  }
   356  
   357  func (l *epollInterestList) afterLoad() {}
   358  
   359  // +checklocksignore
   360  func (l *epollInterestList) StateLoad(stateSourceObject state.Source) {
   361  	stateSourceObject.Load(0, &l.head)
   362  	stateSourceObject.Load(1, &l.tail)
   363  }
   364  
   365  func (e *epollInterestEntry) StateTypeName() string {
   366  	return "pkg/sentry/vfs.epollInterestEntry"
   367  }
   368  
   369  func (e *epollInterestEntry) StateFields() []string {
   370  	return []string{
   371  		"next",
   372  		"prev",
   373  	}
   374  }
   375  
   376  func (e *epollInterestEntry) beforeSave() {}
   377  
   378  // +checklocksignore
   379  func (e *epollInterestEntry) StateSave(stateSinkObject state.Sink) {
   380  	e.beforeSave()
   381  	stateSinkObject.Save(0, &e.next)
   382  	stateSinkObject.Save(1, &e.prev)
   383  }
   384  
   385  func (e *epollInterestEntry) afterLoad() {}
   386  
   387  // +checklocksignore
   388  func (e *epollInterestEntry) StateLoad(stateSourceObject state.Source) {
   389  	stateSourceObject.Load(0, &e.next)
   390  	stateSourceObject.Load(1, &e.prev)
   391  }
   392  
   393  func (l *eventList) StateTypeName() string {
   394  	return "pkg/sentry/vfs.eventList"
   395  }
   396  
   397  func (l *eventList) StateFields() []string {
   398  	return []string{
   399  		"head",
   400  		"tail",
   401  	}
   402  }
   403  
   404  func (l *eventList) beforeSave() {}
   405  
   406  // +checklocksignore
   407  func (l *eventList) StateSave(stateSinkObject state.Sink) {
   408  	l.beforeSave()
   409  	stateSinkObject.Save(0, &l.head)
   410  	stateSinkObject.Save(1, &l.tail)
   411  }
   412  
   413  func (l *eventList) afterLoad() {}
   414  
   415  // +checklocksignore
   416  func (l *eventList) StateLoad(stateSourceObject state.Source) {
   417  	stateSourceObject.Load(0, &l.head)
   418  	stateSourceObject.Load(1, &l.tail)
   419  }
   420  
   421  func (e *eventEntry) StateTypeName() string {
   422  	return "pkg/sentry/vfs.eventEntry"
   423  }
   424  
   425  func (e *eventEntry) StateFields() []string {
   426  	return []string{
   427  		"next",
   428  		"prev",
   429  	}
   430  }
   431  
   432  func (e *eventEntry) beforeSave() {}
   433  
   434  // +checklocksignore
   435  func (e *eventEntry) StateSave(stateSinkObject state.Sink) {
   436  	e.beforeSave()
   437  	stateSinkObject.Save(0, &e.next)
   438  	stateSinkObject.Save(1, &e.prev)
   439  }
   440  
   441  func (e *eventEntry) afterLoad() {}
   442  
   443  // +checklocksignore
   444  func (e *eventEntry) StateLoad(stateSourceObject state.Source) {
   445  	stateSourceObject.Load(0, &e.next)
   446  	stateSourceObject.Load(1, &e.prev)
   447  }
   448  
   449  func (fd *FileDescription) StateTypeName() string {
   450  	return "pkg/sentry/vfs.FileDescription"
   451  }
   452  
   453  func (fd *FileDescription) StateFields() []string {
   454  	return []string{
   455  		"FileDescriptionRefs",
   456  		"statusFlags",
   457  		"asyncHandler",
   458  		"epolls",
   459  		"vd",
   460  		"opts",
   461  		"readable",
   462  		"writable",
   463  		"usedLockBSD",
   464  		"impl",
   465  	}
   466  }
   467  
   468  func (fd *FileDescription) beforeSave() {}
   469  
   470  // +checklocksignore
   471  func (fd *FileDescription) StateSave(stateSinkObject state.Sink) {
   472  	fd.beforeSave()
   473  	stateSinkObject.Save(0, &fd.FileDescriptionRefs)
   474  	stateSinkObject.Save(1, &fd.statusFlags)
   475  	stateSinkObject.Save(2, &fd.asyncHandler)
   476  	stateSinkObject.Save(3, &fd.epolls)
   477  	stateSinkObject.Save(4, &fd.vd)
   478  	stateSinkObject.Save(5, &fd.opts)
   479  	stateSinkObject.Save(6, &fd.readable)
   480  	stateSinkObject.Save(7, &fd.writable)
   481  	stateSinkObject.Save(8, &fd.usedLockBSD)
   482  	stateSinkObject.Save(9, &fd.impl)
   483  }
   484  
   485  func (fd *FileDescription) afterLoad() {}
   486  
   487  // +checklocksignore
   488  func (fd *FileDescription) StateLoad(stateSourceObject state.Source) {
   489  	stateSourceObject.Load(0, &fd.FileDescriptionRefs)
   490  	stateSourceObject.Load(1, &fd.statusFlags)
   491  	stateSourceObject.Load(2, &fd.asyncHandler)
   492  	stateSourceObject.Load(3, &fd.epolls)
   493  	stateSourceObject.Load(4, &fd.vd)
   494  	stateSourceObject.Load(5, &fd.opts)
   495  	stateSourceObject.Load(6, &fd.readable)
   496  	stateSourceObject.Load(7, &fd.writable)
   497  	stateSourceObject.Load(8, &fd.usedLockBSD)
   498  	stateSourceObject.Load(9, &fd.impl)
   499  }
   500  
   501  func (f *FileDescriptionOptions) StateTypeName() string {
   502  	return "pkg/sentry/vfs.FileDescriptionOptions"
   503  }
   504  
   505  func (f *FileDescriptionOptions) StateFields() []string {
   506  	return []string{
   507  		"AllowDirectIO",
   508  		"DenyPRead",
   509  		"DenyPWrite",
   510  		"UseDentryMetadata",
   511  		"DenySpliceIn",
   512  	}
   513  }
   514  
   515  func (f *FileDescriptionOptions) beforeSave() {}
   516  
   517  // +checklocksignore
   518  func (f *FileDescriptionOptions) StateSave(stateSinkObject state.Sink) {
   519  	f.beforeSave()
   520  	stateSinkObject.Save(0, &f.AllowDirectIO)
   521  	stateSinkObject.Save(1, &f.DenyPRead)
   522  	stateSinkObject.Save(2, &f.DenyPWrite)
   523  	stateSinkObject.Save(3, &f.UseDentryMetadata)
   524  	stateSinkObject.Save(4, &f.DenySpliceIn)
   525  }
   526  
   527  func (f *FileDescriptionOptions) afterLoad() {}
   528  
   529  // +checklocksignore
   530  func (f *FileDescriptionOptions) StateLoad(stateSourceObject state.Source) {
   531  	stateSourceObject.Load(0, &f.AllowDirectIO)
   532  	stateSourceObject.Load(1, &f.DenyPRead)
   533  	stateSourceObject.Load(2, &f.DenyPWrite)
   534  	stateSourceObject.Load(3, &f.UseDentryMetadata)
   535  	stateSourceObject.Load(4, &f.DenySpliceIn)
   536  }
   537  
   538  func (d *Dirent) StateTypeName() string {
   539  	return "pkg/sentry/vfs.Dirent"
   540  }
   541  
   542  func (d *Dirent) StateFields() []string {
   543  	return []string{
   544  		"Name",
   545  		"Type",
   546  		"Ino",
   547  		"NextOff",
   548  	}
   549  }
   550  
   551  func (d *Dirent) beforeSave() {}
   552  
   553  // +checklocksignore
   554  func (d *Dirent) StateSave(stateSinkObject state.Sink) {
   555  	d.beforeSave()
   556  	stateSinkObject.Save(0, &d.Name)
   557  	stateSinkObject.Save(1, &d.Type)
   558  	stateSinkObject.Save(2, &d.Ino)
   559  	stateSinkObject.Save(3, &d.NextOff)
   560  }
   561  
   562  func (d *Dirent) afterLoad() {}
   563  
   564  // +checklocksignore
   565  func (d *Dirent) StateLoad(stateSourceObject state.Source) {
   566  	stateSourceObject.Load(0, &d.Name)
   567  	stateSourceObject.Load(1, &d.Type)
   568  	stateSourceObject.Load(2, &d.Ino)
   569  	stateSourceObject.Load(3, &d.NextOff)
   570  }
   571  
   572  func (f *FileDescriptionDefaultImpl) StateTypeName() string {
   573  	return "pkg/sentry/vfs.FileDescriptionDefaultImpl"
   574  }
   575  
   576  func (f *FileDescriptionDefaultImpl) StateFields() []string {
   577  	return []string{}
   578  }
   579  
   580  func (f *FileDescriptionDefaultImpl) beforeSave() {}
   581  
   582  // +checklocksignore
   583  func (f *FileDescriptionDefaultImpl) StateSave(stateSinkObject state.Sink) {
   584  	f.beforeSave()
   585  }
   586  
   587  func (f *FileDescriptionDefaultImpl) afterLoad() {}
   588  
   589  // +checklocksignore
   590  func (f *FileDescriptionDefaultImpl) StateLoad(stateSourceObject state.Source) {
   591  }
   592  
   593  func (d *DirectoryFileDescriptionDefaultImpl) StateTypeName() string {
   594  	return "pkg/sentry/vfs.DirectoryFileDescriptionDefaultImpl"
   595  }
   596  
   597  func (d *DirectoryFileDescriptionDefaultImpl) StateFields() []string {
   598  	return []string{}
   599  }
   600  
   601  func (d *DirectoryFileDescriptionDefaultImpl) beforeSave() {}
   602  
   603  // +checklocksignore
   604  func (d *DirectoryFileDescriptionDefaultImpl) StateSave(stateSinkObject state.Sink) {
   605  	d.beforeSave()
   606  }
   607  
   608  func (d *DirectoryFileDescriptionDefaultImpl) afterLoad() {}
   609  
   610  // +checklocksignore
   611  func (d *DirectoryFileDescriptionDefaultImpl) StateLoad(stateSourceObject state.Source) {
   612  }
   613  
   614  func (d *DentryMetadataFileDescriptionImpl) StateTypeName() string {
   615  	return "pkg/sentry/vfs.DentryMetadataFileDescriptionImpl"
   616  }
   617  
   618  func (d *DentryMetadataFileDescriptionImpl) StateFields() []string {
   619  	return []string{}
   620  }
   621  
   622  func (d *DentryMetadataFileDescriptionImpl) beforeSave() {}
   623  
   624  // +checklocksignore
   625  func (d *DentryMetadataFileDescriptionImpl) StateSave(stateSinkObject state.Sink) {
   626  	d.beforeSave()
   627  }
   628  
   629  func (d *DentryMetadataFileDescriptionImpl) afterLoad() {}
   630  
   631  // +checklocksignore
   632  func (d *DentryMetadataFileDescriptionImpl) StateLoad(stateSourceObject state.Source) {
   633  }
   634  
   635  func (s *StaticData) StateTypeName() string {
   636  	return "pkg/sentry/vfs.StaticData"
   637  }
   638  
   639  func (s *StaticData) StateFields() []string {
   640  	return []string{
   641  		"Data",
   642  	}
   643  }
   644  
   645  func (s *StaticData) beforeSave() {}
   646  
   647  // +checklocksignore
   648  func (s *StaticData) StateSave(stateSinkObject state.Sink) {
   649  	s.beforeSave()
   650  	stateSinkObject.Save(0, &s.Data)
   651  }
   652  
   653  func (s *StaticData) afterLoad() {}
   654  
   655  // +checklocksignore
   656  func (s *StaticData) StateLoad(stateSourceObject state.Source) {
   657  	stateSourceObject.Load(0, &s.Data)
   658  }
   659  
   660  func (fd *DynamicBytesFileDescriptionImpl) StateTypeName() string {
   661  	return "pkg/sentry/vfs.DynamicBytesFileDescriptionImpl"
   662  }
   663  
   664  func (fd *DynamicBytesFileDescriptionImpl) StateFields() []string {
   665  	return []string{
   666  		"vfsfd",
   667  		"data",
   668  		"buf",
   669  		"off",
   670  		"lastRead",
   671  	}
   672  }
   673  
   674  func (fd *DynamicBytesFileDescriptionImpl) beforeSave() {}
   675  
   676  // +checklocksignore
   677  func (fd *DynamicBytesFileDescriptionImpl) StateSave(stateSinkObject state.Sink) {
   678  	fd.beforeSave()
   679  	var bufValue []byte
   680  	bufValue = fd.saveBuf()
   681  	stateSinkObject.SaveValue(2, bufValue)
   682  	stateSinkObject.Save(0, &fd.vfsfd)
   683  	stateSinkObject.Save(1, &fd.data)
   684  	stateSinkObject.Save(3, &fd.off)
   685  	stateSinkObject.Save(4, &fd.lastRead)
   686  }
   687  
   688  func (fd *DynamicBytesFileDescriptionImpl) afterLoad() {}
   689  
   690  // +checklocksignore
   691  func (fd *DynamicBytesFileDescriptionImpl) StateLoad(stateSourceObject state.Source) {
   692  	stateSourceObject.Load(0, &fd.vfsfd)
   693  	stateSourceObject.Load(1, &fd.data)
   694  	stateSourceObject.Load(3, &fd.off)
   695  	stateSourceObject.Load(4, &fd.lastRead)
   696  	stateSourceObject.LoadValue(2, new([]byte), func(y any) { fd.loadBuf(y.([]byte)) })
   697  }
   698  
   699  func (fd *LockFD) StateTypeName() string {
   700  	return "pkg/sentry/vfs.LockFD"
   701  }
   702  
   703  func (fd *LockFD) StateFields() []string {
   704  	return []string{
   705  		"locks",
   706  	}
   707  }
   708  
   709  func (fd *LockFD) beforeSave() {}
   710  
   711  // +checklocksignore
   712  func (fd *LockFD) StateSave(stateSinkObject state.Sink) {
   713  	fd.beforeSave()
   714  	stateSinkObject.Save(0, &fd.locks)
   715  }
   716  
   717  func (fd *LockFD) afterLoad() {}
   718  
   719  // +checklocksignore
   720  func (fd *LockFD) StateLoad(stateSourceObject state.Source) {
   721  	stateSourceObject.Load(0, &fd.locks)
   722  }
   723  
   724  func (n *NoLockFD) StateTypeName() string {
   725  	return "pkg/sentry/vfs.NoLockFD"
   726  }
   727  
   728  func (n *NoLockFD) StateFields() []string {
   729  	return []string{}
   730  }
   731  
   732  func (n *NoLockFD) beforeSave() {}
   733  
   734  // +checklocksignore
   735  func (n *NoLockFD) StateSave(stateSinkObject state.Sink) {
   736  	n.beforeSave()
   737  }
   738  
   739  func (n *NoLockFD) afterLoad() {}
   740  
   741  // +checklocksignore
   742  func (n *NoLockFD) StateLoad(stateSourceObject state.Source) {
   743  }
   744  
   745  func (b *BadLockFD) StateTypeName() string {
   746  	return "pkg/sentry/vfs.BadLockFD"
   747  }
   748  
   749  func (b *BadLockFD) StateFields() []string {
   750  	return []string{}
   751  }
   752  
   753  func (b *BadLockFD) beforeSave() {}
   754  
   755  // +checklocksignore
   756  func (b *BadLockFD) StateSave(stateSinkObject state.Sink) {
   757  	b.beforeSave()
   758  }
   759  
   760  func (b *BadLockFD) afterLoad() {}
   761  
   762  // +checklocksignore
   763  func (b *BadLockFD) StateLoad(stateSourceObject state.Source) {
   764  }
   765  
   766  func (r *FileDescriptionRefs) StateTypeName() string {
   767  	return "pkg/sentry/vfs.FileDescriptionRefs"
   768  }
   769  
   770  func (r *FileDescriptionRefs) StateFields() []string {
   771  	return []string{
   772  		"refCount",
   773  	}
   774  }
   775  
   776  func (r *FileDescriptionRefs) beforeSave() {}
   777  
   778  // +checklocksignore
   779  func (r *FileDescriptionRefs) StateSave(stateSinkObject state.Sink) {
   780  	r.beforeSave()
   781  	stateSinkObject.Save(0, &r.refCount)
   782  }
   783  
   784  // +checklocksignore
   785  func (r *FileDescriptionRefs) StateLoad(stateSourceObject state.Source) {
   786  	stateSourceObject.Load(0, &r.refCount)
   787  	stateSourceObject.AfterLoad(r.afterLoad)
   788  }
   789  
   790  func (fs *Filesystem) StateTypeName() string {
   791  	return "pkg/sentry/vfs.Filesystem"
   792  }
   793  
   794  func (fs *Filesystem) StateFields() []string {
   795  	return []string{
   796  		"FilesystemRefs",
   797  		"vfs",
   798  		"fsType",
   799  		"impl",
   800  	}
   801  }
   802  
   803  func (fs *Filesystem) beforeSave() {}
   804  
   805  // +checklocksignore
   806  func (fs *Filesystem) StateSave(stateSinkObject state.Sink) {
   807  	fs.beforeSave()
   808  	stateSinkObject.Save(0, &fs.FilesystemRefs)
   809  	stateSinkObject.Save(1, &fs.vfs)
   810  	stateSinkObject.Save(2, &fs.fsType)
   811  	stateSinkObject.Save(3, &fs.impl)
   812  }
   813  
   814  func (fs *Filesystem) afterLoad() {}
   815  
   816  // +checklocksignore
   817  func (fs *Filesystem) StateLoad(stateSourceObject state.Source) {
   818  	stateSourceObject.Load(0, &fs.FilesystemRefs)
   819  	stateSourceObject.Load(1, &fs.vfs)
   820  	stateSourceObject.Load(2, &fs.fsType)
   821  	stateSourceObject.Load(3, &fs.impl)
   822  }
   823  
   824  func (p *PrependPathAtVFSRootError) StateTypeName() string {
   825  	return "pkg/sentry/vfs.PrependPathAtVFSRootError"
   826  }
   827  
   828  func (p *PrependPathAtVFSRootError) StateFields() []string {
   829  	return []string{}
   830  }
   831  
   832  func (p *PrependPathAtVFSRootError) beforeSave() {}
   833  
   834  // +checklocksignore
   835  func (p *PrependPathAtVFSRootError) StateSave(stateSinkObject state.Sink) {
   836  	p.beforeSave()
   837  }
   838  
   839  func (p *PrependPathAtVFSRootError) afterLoad() {}
   840  
   841  // +checklocksignore
   842  func (p *PrependPathAtVFSRootError) StateLoad(stateSourceObject state.Source) {
   843  }
   844  
   845  func (p *PrependPathAtNonMountRootError) StateTypeName() string {
   846  	return "pkg/sentry/vfs.PrependPathAtNonMountRootError"
   847  }
   848  
   849  func (p *PrependPathAtNonMountRootError) StateFields() []string {
   850  	return []string{}
   851  }
   852  
   853  func (p *PrependPathAtNonMountRootError) beforeSave() {}
   854  
   855  // +checklocksignore
   856  func (p *PrependPathAtNonMountRootError) StateSave(stateSinkObject state.Sink) {
   857  	p.beforeSave()
   858  }
   859  
   860  func (p *PrependPathAtNonMountRootError) afterLoad() {}
   861  
   862  // +checklocksignore
   863  func (p *PrependPathAtNonMountRootError) StateLoad(stateSourceObject state.Source) {
   864  }
   865  
   866  func (p *PrependPathSyntheticError) StateTypeName() string {
   867  	return "pkg/sentry/vfs.PrependPathSyntheticError"
   868  }
   869  
   870  func (p *PrependPathSyntheticError) StateFields() []string {
   871  	return []string{}
   872  }
   873  
   874  func (p *PrependPathSyntheticError) beforeSave() {}
   875  
   876  // +checklocksignore
   877  func (p *PrependPathSyntheticError) StateSave(stateSinkObject state.Sink) {
   878  	p.beforeSave()
   879  }
   880  
   881  func (p *PrependPathSyntheticError) afterLoad() {}
   882  
   883  // +checklocksignore
   884  func (p *PrependPathSyntheticError) StateLoad(stateSourceObject state.Source) {
   885  }
   886  
   887  func (r *FilesystemRefs) StateTypeName() string {
   888  	return "pkg/sentry/vfs.FilesystemRefs"
   889  }
   890  
   891  func (r *FilesystemRefs) StateFields() []string {
   892  	return []string{
   893  		"refCount",
   894  	}
   895  }
   896  
   897  func (r *FilesystemRefs) beforeSave() {}
   898  
   899  // +checklocksignore
   900  func (r *FilesystemRefs) StateSave(stateSinkObject state.Sink) {
   901  	r.beforeSave()
   902  	stateSinkObject.Save(0, &r.refCount)
   903  }
   904  
   905  // +checklocksignore
   906  func (r *FilesystemRefs) StateLoad(stateSourceObject state.Source) {
   907  	stateSourceObject.Load(0, &r.refCount)
   908  	stateSourceObject.AfterLoad(r.afterLoad)
   909  }
   910  
   911  func (r *registeredFilesystemType) StateTypeName() string {
   912  	return "pkg/sentry/vfs.registeredFilesystemType"
   913  }
   914  
   915  func (r *registeredFilesystemType) StateFields() []string {
   916  	return []string{
   917  		"fsType",
   918  		"opts",
   919  	}
   920  }
   921  
   922  func (r *registeredFilesystemType) beforeSave() {}
   923  
   924  // +checklocksignore
   925  func (r *registeredFilesystemType) StateSave(stateSinkObject state.Sink) {
   926  	r.beforeSave()
   927  	stateSinkObject.Save(0, &r.fsType)
   928  	stateSinkObject.Save(1, &r.opts)
   929  }
   930  
   931  func (r *registeredFilesystemType) afterLoad() {}
   932  
   933  // +checklocksignore
   934  func (r *registeredFilesystemType) StateLoad(stateSourceObject state.Source) {
   935  	stateSourceObject.Load(0, &r.fsType)
   936  	stateSourceObject.Load(1, &r.opts)
   937  }
   938  
   939  func (r *RegisterFilesystemTypeOptions) StateTypeName() string {
   940  	return "pkg/sentry/vfs.RegisterFilesystemTypeOptions"
   941  }
   942  
   943  func (r *RegisterFilesystemTypeOptions) StateFields() []string {
   944  	return []string{
   945  		"AllowUserMount",
   946  		"AllowUserList",
   947  		"RequiresDevice",
   948  	}
   949  }
   950  
   951  func (r *RegisterFilesystemTypeOptions) beforeSave() {}
   952  
   953  // +checklocksignore
   954  func (r *RegisterFilesystemTypeOptions) StateSave(stateSinkObject state.Sink) {
   955  	r.beforeSave()
   956  	stateSinkObject.Save(0, &r.AllowUserMount)
   957  	stateSinkObject.Save(1, &r.AllowUserList)
   958  	stateSinkObject.Save(2, &r.RequiresDevice)
   959  }
   960  
   961  func (r *RegisterFilesystemTypeOptions) afterLoad() {}
   962  
   963  // +checklocksignore
   964  func (r *RegisterFilesystemTypeOptions) StateLoad(stateSourceObject state.Source) {
   965  	stateSourceObject.Load(0, &r.AllowUserMount)
   966  	stateSourceObject.Load(1, &r.AllowUserList)
   967  	stateSourceObject.Load(2, &r.RequiresDevice)
   968  }
   969  
   970  func (e *EventType) StateTypeName() string {
   971  	return "pkg/sentry/vfs.EventType"
   972  }
   973  
   974  func (e *EventType) StateFields() []string {
   975  	return nil
   976  }
   977  
   978  func (i *Inotify) StateTypeName() string {
   979  	return "pkg/sentry/vfs.Inotify"
   980  }
   981  
   982  func (i *Inotify) StateFields() []string {
   983  	return []string{
   984  		"vfsfd",
   985  		"FileDescriptionDefaultImpl",
   986  		"DentryMetadataFileDescriptionImpl",
   987  		"NoLockFD",
   988  		"id",
   989  		"queue",
   990  		"events",
   991  		"scratch",
   992  		"nextWatchMinusOne",
   993  		"watches",
   994  	}
   995  }
   996  
   997  func (i *Inotify) beforeSave() {}
   998  
   999  // +checklocksignore
  1000  func (i *Inotify) StateSave(stateSinkObject state.Sink) {
  1001  	i.beforeSave()
  1002  	stateSinkObject.Save(0, &i.vfsfd)
  1003  	stateSinkObject.Save(1, &i.FileDescriptionDefaultImpl)
  1004  	stateSinkObject.Save(2, &i.DentryMetadataFileDescriptionImpl)
  1005  	stateSinkObject.Save(3, &i.NoLockFD)
  1006  	stateSinkObject.Save(4, &i.id)
  1007  	stateSinkObject.Save(5, &i.queue)
  1008  	stateSinkObject.Save(6, &i.events)
  1009  	stateSinkObject.Save(7, &i.scratch)
  1010  	stateSinkObject.Save(8, &i.nextWatchMinusOne)
  1011  	stateSinkObject.Save(9, &i.watches)
  1012  }
  1013  
  1014  func (i *Inotify) afterLoad() {}
  1015  
  1016  // +checklocksignore
  1017  func (i *Inotify) StateLoad(stateSourceObject state.Source) {
  1018  	stateSourceObject.Load(0, &i.vfsfd)
  1019  	stateSourceObject.Load(1, &i.FileDescriptionDefaultImpl)
  1020  	stateSourceObject.Load(2, &i.DentryMetadataFileDescriptionImpl)
  1021  	stateSourceObject.Load(3, &i.NoLockFD)
  1022  	stateSourceObject.Load(4, &i.id)
  1023  	stateSourceObject.Load(5, &i.queue)
  1024  	stateSourceObject.Load(6, &i.events)
  1025  	stateSourceObject.Load(7, &i.scratch)
  1026  	stateSourceObject.Load(8, &i.nextWatchMinusOne)
  1027  	stateSourceObject.Load(9, &i.watches)
  1028  }
  1029  
  1030  func (w *Watches) StateTypeName() string {
  1031  	return "pkg/sentry/vfs.Watches"
  1032  }
  1033  
  1034  func (w *Watches) StateFields() []string {
  1035  	return []string{
  1036  		"ws",
  1037  	}
  1038  }
  1039  
  1040  func (w *Watches) beforeSave() {}
  1041  
  1042  // +checklocksignore
  1043  func (w *Watches) StateSave(stateSinkObject state.Sink) {
  1044  	w.beforeSave()
  1045  	stateSinkObject.Save(0, &w.ws)
  1046  }
  1047  
  1048  func (w *Watches) afterLoad() {}
  1049  
  1050  // +checklocksignore
  1051  func (w *Watches) StateLoad(stateSourceObject state.Source) {
  1052  	stateSourceObject.Load(0, &w.ws)
  1053  }
  1054  
  1055  func (w *Watch) StateTypeName() string {
  1056  	return "pkg/sentry/vfs.Watch"
  1057  }
  1058  
  1059  func (w *Watch) StateFields() []string {
  1060  	return []string{
  1061  		"owner",
  1062  		"wd",
  1063  		"target",
  1064  		"mask",
  1065  		"expired",
  1066  	}
  1067  }
  1068  
  1069  func (w *Watch) beforeSave() {}
  1070  
  1071  // +checklocksignore
  1072  func (w *Watch) StateSave(stateSinkObject state.Sink) {
  1073  	w.beforeSave()
  1074  	stateSinkObject.Save(0, &w.owner)
  1075  	stateSinkObject.Save(1, &w.wd)
  1076  	stateSinkObject.Save(2, &w.target)
  1077  	stateSinkObject.Save(3, &w.mask)
  1078  	stateSinkObject.Save(4, &w.expired)
  1079  }
  1080  
  1081  func (w *Watch) afterLoad() {}
  1082  
  1083  // +checklocksignore
  1084  func (w *Watch) StateLoad(stateSourceObject state.Source) {
  1085  	stateSourceObject.Load(0, &w.owner)
  1086  	stateSourceObject.Load(1, &w.wd)
  1087  	stateSourceObject.Load(2, &w.target)
  1088  	stateSourceObject.Load(3, &w.mask)
  1089  	stateSourceObject.Load(4, &w.expired)
  1090  }
  1091  
  1092  func (e *Event) StateTypeName() string {
  1093  	return "pkg/sentry/vfs.Event"
  1094  }
  1095  
  1096  func (e *Event) StateFields() []string {
  1097  	return []string{
  1098  		"eventEntry",
  1099  		"wd",
  1100  		"mask",
  1101  		"cookie",
  1102  		"len",
  1103  		"name",
  1104  	}
  1105  }
  1106  
  1107  func (e *Event) beforeSave() {}
  1108  
  1109  // +checklocksignore
  1110  func (e *Event) StateSave(stateSinkObject state.Sink) {
  1111  	e.beforeSave()
  1112  	stateSinkObject.Save(0, &e.eventEntry)
  1113  	stateSinkObject.Save(1, &e.wd)
  1114  	stateSinkObject.Save(2, &e.mask)
  1115  	stateSinkObject.Save(3, &e.cookie)
  1116  	stateSinkObject.Save(4, &e.len)
  1117  	stateSinkObject.Save(5, &e.name)
  1118  }
  1119  
  1120  func (e *Event) afterLoad() {}
  1121  
  1122  // +checklocksignore
  1123  func (e *Event) StateLoad(stateSourceObject state.Source) {
  1124  	stateSourceObject.Load(0, &e.eventEntry)
  1125  	stateSourceObject.Load(1, &e.wd)
  1126  	stateSourceObject.Load(2, &e.mask)
  1127  	stateSourceObject.Load(3, &e.cookie)
  1128  	stateSourceObject.Load(4, &e.len)
  1129  	stateSourceObject.Load(5, &e.name)
  1130  }
  1131  
  1132  func (fl *FileLocks) StateTypeName() string {
  1133  	return "pkg/sentry/vfs.FileLocks"
  1134  }
  1135  
  1136  func (fl *FileLocks) StateFields() []string {
  1137  	return []string{
  1138  		"bsd",
  1139  		"posix",
  1140  	}
  1141  }
  1142  
  1143  func (fl *FileLocks) beforeSave() {}
  1144  
  1145  // +checklocksignore
  1146  func (fl *FileLocks) StateSave(stateSinkObject state.Sink) {
  1147  	fl.beforeSave()
  1148  	stateSinkObject.Save(0, &fl.bsd)
  1149  	stateSinkObject.Save(1, &fl.posix)
  1150  }
  1151  
  1152  func (fl *FileLocks) afterLoad() {}
  1153  
  1154  // +checklocksignore
  1155  func (fl *FileLocks) StateLoad(stateSourceObject state.Source) {
  1156  	stateSourceObject.Load(0, &fl.bsd)
  1157  	stateSourceObject.Load(1, &fl.posix)
  1158  }
  1159  
  1160  func (mnt *Mount) StateTypeName() string {
  1161  	return "pkg/sentry/vfs.Mount"
  1162  }
  1163  
  1164  func (mnt *Mount) StateFields() []string {
  1165  	return []string{
  1166  		"vfs",
  1167  		"fs",
  1168  		"root",
  1169  		"ID",
  1170  		"Flags",
  1171  		"key",
  1172  		"ns",
  1173  		"refs",
  1174  		"children",
  1175  		"isShared",
  1176  		"sharedEntry",
  1177  		"groupID",
  1178  		"umounted",
  1179  		"writers",
  1180  		"pendingChildren",
  1181  	}
  1182  }
  1183  
  1184  func (mnt *Mount) beforeSave() {}
  1185  
  1186  // +checklocksignore
  1187  func (mnt *Mount) StateSave(stateSinkObject state.Sink) {
  1188  	mnt.beforeSave()
  1189  	var keyValue VirtualDentry
  1190  	keyValue = mnt.saveKey()
  1191  	stateSinkObject.SaveValue(5, keyValue)
  1192  	stateSinkObject.Save(0, &mnt.vfs)
  1193  	stateSinkObject.Save(1, &mnt.fs)
  1194  	stateSinkObject.Save(2, &mnt.root)
  1195  	stateSinkObject.Save(3, &mnt.ID)
  1196  	stateSinkObject.Save(4, &mnt.Flags)
  1197  	stateSinkObject.Save(6, &mnt.ns)
  1198  	stateSinkObject.Save(7, &mnt.refs)
  1199  	stateSinkObject.Save(8, &mnt.children)
  1200  	stateSinkObject.Save(9, &mnt.isShared)
  1201  	stateSinkObject.Save(10, &mnt.sharedEntry)
  1202  	stateSinkObject.Save(11, &mnt.groupID)
  1203  	stateSinkObject.Save(12, &mnt.umounted)
  1204  	stateSinkObject.Save(13, &mnt.writers)
  1205  	stateSinkObject.Save(14, &mnt.pendingChildren)
  1206  }
  1207  
  1208  // +checklocksignore
  1209  func (mnt *Mount) StateLoad(stateSourceObject state.Source) {
  1210  	stateSourceObject.Load(0, &mnt.vfs)
  1211  	stateSourceObject.Load(1, &mnt.fs)
  1212  	stateSourceObject.Load(2, &mnt.root)
  1213  	stateSourceObject.Load(3, &mnt.ID)
  1214  	stateSourceObject.Load(4, &mnt.Flags)
  1215  	stateSourceObject.Load(6, &mnt.ns)
  1216  	stateSourceObject.Load(7, &mnt.refs)
  1217  	stateSourceObject.Load(8, &mnt.children)
  1218  	stateSourceObject.Load(9, &mnt.isShared)
  1219  	stateSourceObject.Load(10, &mnt.sharedEntry)
  1220  	stateSourceObject.Load(11, &mnt.groupID)
  1221  	stateSourceObject.Load(12, &mnt.umounted)
  1222  	stateSourceObject.Load(13, &mnt.writers)
  1223  	stateSourceObject.Load(14, &mnt.pendingChildren)
  1224  	stateSourceObject.LoadValue(5, new(VirtualDentry), func(y any) { mnt.loadKey(y.(VirtualDentry)) })
  1225  	stateSourceObject.AfterLoad(mnt.afterLoad)
  1226  }
  1227  
  1228  func (u *umountRecursiveOptions) StateTypeName() string {
  1229  	return "pkg/sentry/vfs.umountRecursiveOptions"
  1230  }
  1231  
  1232  func (u *umountRecursiveOptions) StateFields() []string {
  1233  	return []string{
  1234  		"eager",
  1235  		"disconnectHierarchy",
  1236  	}
  1237  }
  1238  
  1239  func (u *umountRecursiveOptions) beforeSave() {}
  1240  
  1241  // +checklocksignore
  1242  func (u *umountRecursiveOptions) StateSave(stateSinkObject state.Sink) {
  1243  	u.beforeSave()
  1244  	stateSinkObject.Save(0, &u.eager)
  1245  	stateSinkObject.Save(1, &u.disconnectHierarchy)
  1246  }
  1247  
  1248  func (u *umountRecursiveOptions) afterLoad() {}
  1249  
  1250  // +checklocksignore
  1251  func (u *umountRecursiveOptions) StateLoad(stateSourceObject state.Source) {
  1252  	stateSourceObject.Load(0, &u.eager)
  1253  	stateSourceObject.Load(1, &u.disconnectHierarchy)
  1254  }
  1255  
  1256  func (r *namespaceRefs) StateTypeName() string {
  1257  	return "pkg/sentry/vfs.namespaceRefs"
  1258  }
  1259  
  1260  func (r *namespaceRefs) StateFields() []string {
  1261  	return []string{
  1262  		"refCount",
  1263  	}
  1264  }
  1265  
  1266  func (r *namespaceRefs) beforeSave() {}
  1267  
  1268  // +checklocksignore
  1269  func (r *namespaceRefs) StateSave(stateSinkObject state.Sink) {
  1270  	r.beforeSave()
  1271  	stateSinkObject.Save(0, &r.refCount)
  1272  }
  1273  
  1274  // +checklocksignore
  1275  func (r *namespaceRefs) StateLoad(stateSourceObject state.Source) {
  1276  	stateSourceObject.Load(0, &r.refCount)
  1277  	stateSourceObject.AfterLoad(r.afterLoad)
  1278  }
  1279  
  1280  func (e *mountEntry) StateTypeName() string {
  1281  	return "pkg/sentry/vfs.mountEntry"
  1282  }
  1283  
  1284  func (e *mountEntry) StateFields() []string {
  1285  	return []string{
  1286  		"next",
  1287  		"prev",
  1288  		"container",
  1289  	}
  1290  }
  1291  
  1292  func (e *mountEntry) beforeSave() {}
  1293  
  1294  // +checklocksignore
  1295  func (e *mountEntry) StateSave(stateSinkObject state.Sink) {
  1296  	e.beforeSave()
  1297  	stateSinkObject.Save(0, &e.next)
  1298  	stateSinkObject.Save(1, &e.prev)
  1299  	stateSinkObject.Save(2, &e.container)
  1300  }
  1301  
  1302  func (e *mountEntry) afterLoad() {}
  1303  
  1304  // +checklocksignore
  1305  func (e *mountEntry) StateLoad(stateSourceObject state.Source) {
  1306  	stateSourceObject.Load(0, &e.next)
  1307  	stateSourceObject.Load(1, &e.prev)
  1308  	stateSourceObject.Load(2, &e.container)
  1309  }
  1310  
  1311  func (mntns *MountNamespace) StateTypeName() string {
  1312  	return "pkg/sentry/vfs.MountNamespace"
  1313  }
  1314  
  1315  func (mntns *MountNamespace) StateFields() []string {
  1316  	return []string{
  1317  		"Refs",
  1318  		"Owner",
  1319  		"root",
  1320  		"mountpoints",
  1321  		"mounts",
  1322  	}
  1323  }
  1324  
  1325  func (mntns *MountNamespace) beforeSave() {}
  1326  
  1327  // +checklocksignore
  1328  func (mntns *MountNamespace) StateSave(stateSinkObject state.Sink) {
  1329  	mntns.beforeSave()
  1330  	stateSinkObject.Save(0, &mntns.Refs)
  1331  	stateSinkObject.Save(1, &mntns.Owner)
  1332  	stateSinkObject.Save(2, &mntns.root)
  1333  	stateSinkObject.Save(3, &mntns.mountpoints)
  1334  	stateSinkObject.Save(4, &mntns.mounts)
  1335  }
  1336  
  1337  func (mntns *MountNamespace) afterLoad() {}
  1338  
  1339  // +checklocksignore
  1340  func (mntns *MountNamespace) StateLoad(stateSourceObject state.Source) {
  1341  	stateSourceObject.Load(0, &mntns.Refs)
  1342  	stateSourceObject.Load(1, &mntns.Owner)
  1343  	stateSourceObject.Load(2, &mntns.root)
  1344  	stateSourceObject.Load(3, &mntns.mountpoints)
  1345  	stateSourceObject.Load(4, &mntns.mounts)
  1346  }
  1347  
  1348  func (fd *opathFD) StateTypeName() string {
  1349  	return "pkg/sentry/vfs.opathFD"
  1350  }
  1351  
  1352  func (fd *opathFD) StateFields() []string {
  1353  	return []string{
  1354  		"vfsfd",
  1355  		"FileDescriptionDefaultImpl",
  1356  		"BadLockFD",
  1357  	}
  1358  }
  1359  
  1360  func (fd *opathFD) beforeSave() {}
  1361  
  1362  // +checklocksignore
  1363  func (fd *opathFD) StateSave(stateSinkObject state.Sink) {
  1364  	fd.beforeSave()
  1365  	stateSinkObject.Save(0, &fd.vfsfd)
  1366  	stateSinkObject.Save(1, &fd.FileDescriptionDefaultImpl)
  1367  	stateSinkObject.Save(2, &fd.BadLockFD)
  1368  }
  1369  
  1370  func (fd *opathFD) afterLoad() {}
  1371  
  1372  // +checklocksignore
  1373  func (fd *opathFD) StateLoad(stateSourceObject state.Source) {
  1374  	stateSourceObject.Load(0, &fd.vfsfd)
  1375  	stateSourceObject.Load(1, &fd.FileDescriptionDefaultImpl)
  1376  	stateSourceObject.Load(2, &fd.BadLockFD)
  1377  }
  1378  
  1379  func (g *GetDentryOptions) StateTypeName() string {
  1380  	return "pkg/sentry/vfs.GetDentryOptions"
  1381  }
  1382  
  1383  func (g *GetDentryOptions) StateFields() []string {
  1384  	return []string{
  1385  		"CheckSearchable",
  1386  	}
  1387  }
  1388  
  1389  func (g *GetDentryOptions) beforeSave() {}
  1390  
  1391  // +checklocksignore
  1392  func (g *GetDentryOptions) StateSave(stateSinkObject state.Sink) {
  1393  	g.beforeSave()
  1394  	stateSinkObject.Save(0, &g.CheckSearchable)
  1395  }
  1396  
  1397  func (g *GetDentryOptions) afterLoad() {}
  1398  
  1399  // +checklocksignore
  1400  func (g *GetDentryOptions) StateLoad(stateSourceObject state.Source) {
  1401  	stateSourceObject.Load(0, &g.CheckSearchable)
  1402  }
  1403  
  1404  func (m *MkdirOptions) StateTypeName() string {
  1405  	return "pkg/sentry/vfs.MkdirOptions"
  1406  }
  1407  
  1408  func (m *MkdirOptions) StateFields() []string {
  1409  	return []string{
  1410  		"Mode",
  1411  		"ForSyntheticMountpoint",
  1412  	}
  1413  }
  1414  
  1415  func (m *MkdirOptions) beforeSave() {}
  1416  
  1417  // +checklocksignore
  1418  func (m *MkdirOptions) StateSave(stateSinkObject state.Sink) {
  1419  	m.beforeSave()
  1420  	stateSinkObject.Save(0, &m.Mode)
  1421  	stateSinkObject.Save(1, &m.ForSyntheticMountpoint)
  1422  }
  1423  
  1424  func (m *MkdirOptions) afterLoad() {}
  1425  
  1426  // +checklocksignore
  1427  func (m *MkdirOptions) StateLoad(stateSourceObject state.Source) {
  1428  	stateSourceObject.Load(0, &m.Mode)
  1429  	stateSourceObject.Load(1, &m.ForSyntheticMountpoint)
  1430  }
  1431  
  1432  func (m *MknodOptions) StateTypeName() string {
  1433  	return "pkg/sentry/vfs.MknodOptions"
  1434  }
  1435  
  1436  func (m *MknodOptions) StateFields() []string {
  1437  	return []string{
  1438  		"Mode",
  1439  		"DevMajor",
  1440  		"DevMinor",
  1441  		"Endpoint",
  1442  	}
  1443  }
  1444  
  1445  func (m *MknodOptions) beforeSave() {}
  1446  
  1447  // +checklocksignore
  1448  func (m *MknodOptions) StateSave(stateSinkObject state.Sink) {
  1449  	m.beforeSave()
  1450  	stateSinkObject.Save(0, &m.Mode)
  1451  	stateSinkObject.Save(1, &m.DevMajor)
  1452  	stateSinkObject.Save(2, &m.DevMinor)
  1453  	stateSinkObject.Save(3, &m.Endpoint)
  1454  }
  1455  
  1456  func (m *MknodOptions) afterLoad() {}
  1457  
  1458  // +checklocksignore
  1459  func (m *MknodOptions) StateLoad(stateSourceObject state.Source) {
  1460  	stateSourceObject.Load(0, &m.Mode)
  1461  	stateSourceObject.Load(1, &m.DevMajor)
  1462  	stateSourceObject.Load(2, &m.DevMinor)
  1463  	stateSourceObject.Load(3, &m.Endpoint)
  1464  }
  1465  
  1466  func (m *MountFlags) StateTypeName() string {
  1467  	return "pkg/sentry/vfs.MountFlags"
  1468  }
  1469  
  1470  func (m *MountFlags) StateFields() []string {
  1471  	return []string{
  1472  		"NoExec",
  1473  		"NoATime",
  1474  		"NoDev",
  1475  		"NoSUID",
  1476  	}
  1477  }
  1478  
  1479  func (m *MountFlags) beforeSave() {}
  1480  
  1481  // +checklocksignore
  1482  func (m *MountFlags) StateSave(stateSinkObject state.Sink) {
  1483  	m.beforeSave()
  1484  	stateSinkObject.Save(0, &m.NoExec)
  1485  	stateSinkObject.Save(1, &m.NoATime)
  1486  	stateSinkObject.Save(2, &m.NoDev)
  1487  	stateSinkObject.Save(3, &m.NoSUID)
  1488  }
  1489  
  1490  func (m *MountFlags) afterLoad() {}
  1491  
  1492  // +checklocksignore
  1493  func (m *MountFlags) StateLoad(stateSourceObject state.Source) {
  1494  	stateSourceObject.Load(0, &m.NoExec)
  1495  	stateSourceObject.Load(1, &m.NoATime)
  1496  	stateSourceObject.Load(2, &m.NoDev)
  1497  	stateSourceObject.Load(3, &m.NoSUID)
  1498  }
  1499  
  1500  func (m *MountOptions) StateTypeName() string {
  1501  	return "pkg/sentry/vfs.MountOptions"
  1502  }
  1503  
  1504  func (m *MountOptions) StateFields() []string {
  1505  	return []string{
  1506  		"Flags",
  1507  		"ReadOnly",
  1508  		"GetFilesystemOptions",
  1509  		"InternalMount",
  1510  	}
  1511  }
  1512  
  1513  func (m *MountOptions) beforeSave() {}
  1514  
  1515  // +checklocksignore
  1516  func (m *MountOptions) StateSave(stateSinkObject state.Sink) {
  1517  	m.beforeSave()
  1518  	stateSinkObject.Save(0, &m.Flags)
  1519  	stateSinkObject.Save(1, &m.ReadOnly)
  1520  	stateSinkObject.Save(2, &m.GetFilesystemOptions)
  1521  	stateSinkObject.Save(3, &m.InternalMount)
  1522  }
  1523  
  1524  func (m *MountOptions) afterLoad() {}
  1525  
  1526  // +checklocksignore
  1527  func (m *MountOptions) StateLoad(stateSourceObject state.Source) {
  1528  	stateSourceObject.Load(0, &m.Flags)
  1529  	stateSourceObject.Load(1, &m.ReadOnly)
  1530  	stateSourceObject.Load(2, &m.GetFilesystemOptions)
  1531  	stateSourceObject.Load(3, &m.InternalMount)
  1532  }
  1533  
  1534  func (o *OpenOptions) StateTypeName() string {
  1535  	return "pkg/sentry/vfs.OpenOptions"
  1536  }
  1537  
  1538  func (o *OpenOptions) StateFields() []string {
  1539  	return []string{
  1540  		"Flags",
  1541  		"Mode",
  1542  		"FileExec",
  1543  	}
  1544  }
  1545  
  1546  func (o *OpenOptions) beforeSave() {}
  1547  
  1548  // +checklocksignore
  1549  func (o *OpenOptions) StateSave(stateSinkObject state.Sink) {
  1550  	o.beforeSave()
  1551  	stateSinkObject.Save(0, &o.Flags)
  1552  	stateSinkObject.Save(1, &o.Mode)
  1553  	stateSinkObject.Save(2, &o.FileExec)
  1554  }
  1555  
  1556  func (o *OpenOptions) afterLoad() {}
  1557  
  1558  // +checklocksignore
  1559  func (o *OpenOptions) StateLoad(stateSourceObject state.Source) {
  1560  	stateSourceObject.Load(0, &o.Flags)
  1561  	stateSourceObject.Load(1, &o.Mode)
  1562  	stateSourceObject.Load(2, &o.FileExec)
  1563  }
  1564  
  1565  func (r *ReadOptions) StateTypeName() string {
  1566  	return "pkg/sentry/vfs.ReadOptions"
  1567  }
  1568  
  1569  func (r *ReadOptions) StateFields() []string {
  1570  	return []string{
  1571  		"Flags",
  1572  	}
  1573  }
  1574  
  1575  func (r *ReadOptions) beforeSave() {}
  1576  
  1577  // +checklocksignore
  1578  func (r *ReadOptions) StateSave(stateSinkObject state.Sink) {
  1579  	r.beforeSave()
  1580  	stateSinkObject.Save(0, &r.Flags)
  1581  }
  1582  
  1583  func (r *ReadOptions) afterLoad() {}
  1584  
  1585  // +checklocksignore
  1586  func (r *ReadOptions) StateLoad(stateSourceObject state.Source) {
  1587  	stateSourceObject.Load(0, &r.Flags)
  1588  }
  1589  
  1590  func (r *RenameOptions) StateTypeName() string {
  1591  	return "pkg/sentry/vfs.RenameOptions"
  1592  }
  1593  
  1594  func (r *RenameOptions) StateFields() []string {
  1595  	return []string{
  1596  		"Flags",
  1597  		"MustBeDir",
  1598  	}
  1599  }
  1600  
  1601  func (r *RenameOptions) beforeSave() {}
  1602  
  1603  // +checklocksignore
  1604  func (r *RenameOptions) StateSave(stateSinkObject state.Sink) {
  1605  	r.beforeSave()
  1606  	stateSinkObject.Save(0, &r.Flags)
  1607  	stateSinkObject.Save(1, &r.MustBeDir)
  1608  }
  1609  
  1610  func (r *RenameOptions) afterLoad() {}
  1611  
  1612  // +checklocksignore
  1613  func (r *RenameOptions) StateLoad(stateSourceObject state.Source) {
  1614  	stateSourceObject.Load(0, &r.Flags)
  1615  	stateSourceObject.Load(1, &r.MustBeDir)
  1616  }
  1617  
  1618  func (s *SetStatOptions) StateTypeName() string {
  1619  	return "pkg/sentry/vfs.SetStatOptions"
  1620  }
  1621  
  1622  func (s *SetStatOptions) StateFields() []string {
  1623  	return []string{
  1624  		"Stat",
  1625  		"NeedWritePerm",
  1626  	}
  1627  }
  1628  
  1629  func (s *SetStatOptions) beforeSave() {}
  1630  
  1631  // +checklocksignore
  1632  func (s *SetStatOptions) StateSave(stateSinkObject state.Sink) {
  1633  	s.beforeSave()
  1634  	stateSinkObject.Save(0, &s.Stat)
  1635  	stateSinkObject.Save(1, &s.NeedWritePerm)
  1636  }
  1637  
  1638  func (s *SetStatOptions) afterLoad() {}
  1639  
  1640  // +checklocksignore
  1641  func (s *SetStatOptions) StateLoad(stateSourceObject state.Source) {
  1642  	stateSourceObject.Load(0, &s.Stat)
  1643  	stateSourceObject.Load(1, &s.NeedWritePerm)
  1644  }
  1645  
  1646  func (b *BoundEndpointOptions) StateTypeName() string {
  1647  	return "pkg/sentry/vfs.BoundEndpointOptions"
  1648  }
  1649  
  1650  func (b *BoundEndpointOptions) StateFields() []string {
  1651  	return []string{
  1652  		"Addr",
  1653  	}
  1654  }
  1655  
  1656  func (b *BoundEndpointOptions) beforeSave() {}
  1657  
  1658  // +checklocksignore
  1659  func (b *BoundEndpointOptions) StateSave(stateSinkObject state.Sink) {
  1660  	b.beforeSave()
  1661  	stateSinkObject.Save(0, &b.Addr)
  1662  }
  1663  
  1664  func (b *BoundEndpointOptions) afterLoad() {}
  1665  
  1666  // +checklocksignore
  1667  func (b *BoundEndpointOptions) StateLoad(stateSourceObject state.Source) {
  1668  	stateSourceObject.Load(0, &b.Addr)
  1669  }
  1670  
  1671  func (g *GetXattrOptions) StateTypeName() string {
  1672  	return "pkg/sentry/vfs.GetXattrOptions"
  1673  }
  1674  
  1675  func (g *GetXattrOptions) StateFields() []string {
  1676  	return []string{
  1677  		"Name",
  1678  		"Size",
  1679  	}
  1680  }
  1681  
  1682  func (g *GetXattrOptions) beforeSave() {}
  1683  
  1684  // +checklocksignore
  1685  func (g *GetXattrOptions) StateSave(stateSinkObject state.Sink) {
  1686  	g.beforeSave()
  1687  	stateSinkObject.Save(0, &g.Name)
  1688  	stateSinkObject.Save(1, &g.Size)
  1689  }
  1690  
  1691  func (g *GetXattrOptions) afterLoad() {}
  1692  
  1693  // +checklocksignore
  1694  func (g *GetXattrOptions) StateLoad(stateSourceObject state.Source) {
  1695  	stateSourceObject.Load(0, &g.Name)
  1696  	stateSourceObject.Load(1, &g.Size)
  1697  }
  1698  
  1699  func (s *SetXattrOptions) StateTypeName() string {
  1700  	return "pkg/sentry/vfs.SetXattrOptions"
  1701  }
  1702  
  1703  func (s *SetXattrOptions) StateFields() []string {
  1704  	return []string{
  1705  		"Name",
  1706  		"Value",
  1707  		"Flags",
  1708  	}
  1709  }
  1710  
  1711  func (s *SetXattrOptions) beforeSave() {}
  1712  
  1713  // +checklocksignore
  1714  func (s *SetXattrOptions) StateSave(stateSinkObject state.Sink) {
  1715  	s.beforeSave()
  1716  	stateSinkObject.Save(0, &s.Name)
  1717  	stateSinkObject.Save(1, &s.Value)
  1718  	stateSinkObject.Save(2, &s.Flags)
  1719  }
  1720  
  1721  func (s *SetXattrOptions) afterLoad() {}
  1722  
  1723  // +checklocksignore
  1724  func (s *SetXattrOptions) StateLoad(stateSourceObject state.Source) {
  1725  	stateSourceObject.Load(0, &s.Name)
  1726  	stateSourceObject.Load(1, &s.Value)
  1727  	stateSourceObject.Load(2, &s.Flags)
  1728  }
  1729  
  1730  func (s *StatOptions) StateTypeName() string {
  1731  	return "pkg/sentry/vfs.StatOptions"
  1732  }
  1733  
  1734  func (s *StatOptions) StateFields() []string {
  1735  	return []string{
  1736  		"Mask",
  1737  		"Sync",
  1738  	}
  1739  }
  1740  
  1741  func (s *StatOptions) beforeSave() {}
  1742  
  1743  // +checklocksignore
  1744  func (s *StatOptions) StateSave(stateSinkObject state.Sink) {
  1745  	s.beforeSave()
  1746  	stateSinkObject.Save(0, &s.Mask)
  1747  	stateSinkObject.Save(1, &s.Sync)
  1748  }
  1749  
  1750  func (s *StatOptions) afterLoad() {}
  1751  
  1752  // +checklocksignore
  1753  func (s *StatOptions) StateLoad(stateSourceObject state.Source) {
  1754  	stateSourceObject.Load(0, &s.Mask)
  1755  	stateSourceObject.Load(1, &s.Sync)
  1756  }
  1757  
  1758  func (u *UmountOptions) StateTypeName() string {
  1759  	return "pkg/sentry/vfs.UmountOptions"
  1760  }
  1761  
  1762  func (u *UmountOptions) StateFields() []string {
  1763  	return []string{
  1764  		"Flags",
  1765  	}
  1766  }
  1767  
  1768  func (u *UmountOptions) beforeSave() {}
  1769  
  1770  // +checklocksignore
  1771  func (u *UmountOptions) StateSave(stateSinkObject state.Sink) {
  1772  	u.beforeSave()
  1773  	stateSinkObject.Save(0, &u.Flags)
  1774  }
  1775  
  1776  func (u *UmountOptions) afterLoad() {}
  1777  
  1778  // +checklocksignore
  1779  func (u *UmountOptions) StateLoad(stateSourceObject state.Source) {
  1780  	stateSourceObject.Load(0, &u.Flags)
  1781  }
  1782  
  1783  func (w *WriteOptions) StateTypeName() string {
  1784  	return "pkg/sentry/vfs.WriteOptions"
  1785  }
  1786  
  1787  func (w *WriteOptions) StateFields() []string {
  1788  	return []string{
  1789  		"Flags",
  1790  	}
  1791  }
  1792  
  1793  func (w *WriteOptions) beforeSave() {}
  1794  
  1795  // +checklocksignore
  1796  func (w *WriteOptions) StateSave(stateSinkObject state.Sink) {
  1797  	w.beforeSave()
  1798  	stateSinkObject.Save(0, &w.Flags)
  1799  }
  1800  
  1801  func (w *WriteOptions) afterLoad() {}
  1802  
  1803  // +checklocksignore
  1804  func (w *WriteOptions) StateLoad(stateSourceObject state.Source) {
  1805  	stateSourceObject.Load(0, &w.Flags)
  1806  }
  1807  
  1808  func (a *AccessTypes) StateTypeName() string {
  1809  	return "pkg/sentry/vfs.AccessTypes"
  1810  }
  1811  
  1812  func (a *AccessTypes) StateFields() []string {
  1813  	return nil
  1814  }
  1815  
  1816  func (rp *ResolvingPath) StateTypeName() string {
  1817  	return "pkg/sentry/vfs.ResolvingPath"
  1818  }
  1819  
  1820  func (rp *ResolvingPath) StateFields() []string {
  1821  	return []string{
  1822  		"vfs",
  1823  		"root",
  1824  		"mount",
  1825  		"start",
  1826  		"pit",
  1827  		"flags",
  1828  		"mustBeDir",
  1829  		"symlinks",
  1830  		"curPart",
  1831  		"creds",
  1832  		"nextMount",
  1833  		"nextStart",
  1834  		"absSymlinkTarget",
  1835  		"parts",
  1836  	}
  1837  }
  1838  
  1839  func (rp *ResolvingPath) beforeSave() {}
  1840  
  1841  // +checklocksignore
  1842  func (rp *ResolvingPath) StateSave(stateSinkObject state.Sink) {
  1843  	rp.beforeSave()
  1844  	stateSinkObject.Save(0, &rp.vfs)
  1845  	stateSinkObject.Save(1, &rp.root)
  1846  	stateSinkObject.Save(2, &rp.mount)
  1847  	stateSinkObject.Save(3, &rp.start)
  1848  	stateSinkObject.Save(4, &rp.pit)
  1849  	stateSinkObject.Save(5, &rp.flags)
  1850  	stateSinkObject.Save(6, &rp.mustBeDir)
  1851  	stateSinkObject.Save(7, &rp.symlinks)
  1852  	stateSinkObject.Save(8, &rp.curPart)
  1853  	stateSinkObject.Save(9, &rp.creds)
  1854  	stateSinkObject.Save(10, &rp.nextMount)
  1855  	stateSinkObject.Save(11, &rp.nextStart)
  1856  	stateSinkObject.Save(12, &rp.absSymlinkTarget)
  1857  	stateSinkObject.Save(13, &rp.parts)
  1858  }
  1859  
  1860  func (rp *ResolvingPath) afterLoad() {}
  1861  
  1862  // +checklocksignore
  1863  func (rp *ResolvingPath) StateLoad(stateSourceObject state.Source) {
  1864  	stateSourceObject.Load(0, &rp.vfs)
  1865  	stateSourceObject.Load(1, &rp.root)
  1866  	stateSourceObject.Load(2, &rp.mount)
  1867  	stateSourceObject.Load(3, &rp.start)
  1868  	stateSourceObject.Load(4, &rp.pit)
  1869  	stateSourceObject.Load(5, &rp.flags)
  1870  	stateSourceObject.Load(6, &rp.mustBeDir)
  1871  	stateSourceObject.Load(7, &rp.symlinks)
  1872  	stateSourceObject.Load(8, &rp.curPart)
  1873  	stateSourceObject.Load(9, &rp.creds)
  1874  	stateSourceObject.Load(10, &rp.nextMount)
  1875  	stateSourceObject.Load(11, &rp.nextStart)
  1876  	stateSourceObject.Load(12, &rp.absSymlinkTarget)
  1877  	stateSourceObject.Load(13, &rp.parts)
  1878  }
  1879  
  1880  func (r *resolveMountRootOrJumpError) StateTypeName() string {
  1881  	return "pkg/sentry/vfs.resolveMountRootOrJumpError"
  1882  }
  1883  
  1884  func (r *resolveMountRootOrJumpError) StateFields() []string {
  1885  	return []string{}
  1886  }
  1887  
  1888  func (r *resolveMountRootOrJumpError) beforeSave() {}
  1889  
  1890  // +checklocksignore
  1891  func (r *resolveMountRootOrJumpError) StateSave(stateSinkObject state.Sink) {
  1892  	r.beforeSave()
  1893  }
  1894  
  1895  func (r *resolveMountRootOrJumpError) afterLoad() {}
  1896  
  1897  // +checklocksignore
  1898  func (r *resolveMountRootOrJumpError) StateLoad(stateSourceObject state.Source) {
  1899  }
  1900  
  1901  func (r *resolveMountPointError) StateTypeName() string {
  1902  	return "pkg/sentry/vfs.resolveMountPointError"
  1903  }
  1904  
  1905  func (r *resolveMountPointError) StateFields() []string {
  1906  	return []string{}
  1907  }
  1908  
  1909  func (r *resolveMountPointError) beforeSave() {}
  1910  
  1911  // +checklocksignore
  1912  func (r *resolveMountPointError) StateSave(stateSinkObject state.Sink) {
  1913  	r.beforeSave()
  1914  }
  1915  
  1916  func (r *resolveMountPointError) afterLoad() {}
  1917  
  1918  // +checklocksignore
  1919  func (r *resolveMountPointError) StateLoad(stateSourceObject state.Source) {
  1920  }
  1921  
  1922  func (r *resolveAbsSymlinkError) StateTypeName() string {
  1923  	return "pkg/sentry/vfs.resolveAbsSymlinkError"
  1924  }
  1925  
  1926  func (r *resolveAbsSymlinkError) StateFields() []string {
  1927  	return []string{}
  1928  }
  1929  
  1930  func (r *resolveAbsSymlinkError) beforeSave() {}
  1931  
  1932  // +checklocksignore
  1933  func (r *resolveAbsSymlinkError) StateSave(stateSinkObject state.Sink) {
  1934  	r.beforeSave()
  1935  }
  1936  
  1937  func (r *resolveAbsSymlinkError) afterLoad() {}
  1938  
  1939  // +checklocksignore
  1940  func (r *resolveAbsSymlinkError) StateLoad(stateSourceObject state.Source) {
  1941  }
  1942  
  1943  func (vfs *VirtualFilesystem) StateTypeName() string {
  1944  	return "pkg/sentry/vfs.VirtualFilesystem"
  1945  }
  1946  
  1947  func (vfs *VirtualFilesystem) StateFields() []string {
  1948  	return []string{
  1949  		"mounts",
  1950  		"mountpoints",
  1951  		"lastMountID",
  1952  		"anonMount",
  1953  		"devices",
  1954  		"dynCharDevMajorUsed",
  1955  		"anonBlockDevMinorNext",
  1956  		"anonBlockDevMinor",
  1957  		"fsTypes",
  1958  		"filesystems",
  1959  		"groupIDBitmap",
  1960  		"mountPromises",
  1961  		"toDecRef",
  1962  	}
  1963  }
  1964  
  1965  func (vfs *VirtualFilesystem) beforeSave() {}
  1966  
  1967  // +checklocksignore
  1968  func (vfs *VirtualFilesystem) StateSave(stateSinkObject state.Sink) {
  1969  	vfs.beforeSave()
  1970  	var mountsValue []*Mount
  1971  	mountsValue = vfs.saveMounts()
  1972  	stateSinkObject.SaveValue(0, mountsValue)
  1973  	stateSinkObject.Save(1, &vfs.mountpoints)
  1974  	stateSinkObject.Save(2, &vfs.lastMountID)
  1975  	stateSinkObject.Save(3, &vfs.anonMount)
  1976  	stateSinkObject.Save(4, &vfs.devices)
  1977  	stateSinkObject.Save(5, &vfs.dynCharDevMajorUsed)
  1978  	stateSinkObject.Save(6, &vfs.anonBlockDevMinorNext)
  1979  	stateSinkObject.Save(7, &vfs.anonBlockDevMinor)
  1980  	stateSinkObject.Save(8, &vfs.fsTypes)
  1981  	stateSinkObject.Save(9, &vfs.filesystems)
  1982  	stateSinkObject.Save(10, &vfs.groupIDBitmap)
  1983  	stateSinkObject.Save(11, &vfs.mountPromises)
  1984  	stateSinkObject.Save(12, &vfs.toDecRef)
  1985  }
  1986  
  1987  func (vfs *VirtualFilesystem) afterLoad() {}
  1988  
  1989  // +checklocksignore
  1990  func (vfs *VirtualFilesystem) StateLoad(stateSourceObject state.Source) {
  1991  	stateSourceObject.Load(1, &vfs.mountpoints)
  1992  	stateSourceObject.Load(2, &vfs.lastMountID)
  1993  	stateSourceObject.Load(3, &vfs.anonMount)
  1994  	stateSourceObject.Load(4, &vfs.devices)
  1995  	stateSourceObject.Load(5, &vfs.dynCharDevMajorUsed)
  1996  	stateSourceObject.Load(6, &vfs.anonBlockDevMinorNext)
  1997  	stateSourceObject.Load(7, &vfs.anonBlockDevMinor)
  1998  	stateSourceObject.Load(8, &vfs.fsTypes)
  1999  	stateSourceObject.Load(9, &vfs.filesystems)
  2000  	stateSourceObject.Load(10, &vfs.groupIDBitmap)
  2001  	stateSourceObject.Load(11, &vfs.mountPromises)
  2002  	stateSourceObject.Load(12, &vfs.toDecRef)
  2003  	stateSourceObject.LoadValue(0, new([]*Mount), func(y any) { vfs.loadMounts(y.([]*Mount)) })
  2004  }
  2005  
  2006  func (p *PathOperation) StateTypeName() string {
  2007  	return "pkg/sentry/vfs.PathOperation"
  2008  }
  2009  
  2010  func (p *PathOperation) StateFields() []string {
  2011  	return []string{
  2012  		"Root",
  2013  		"Start",
  2014  		"Path",
  2015  		"FollowFinalSymlink",
  2016  	}
  2017  }
  2018  
  2019  func (p *PathOperation) beforeSave() {}
  2020  
  2021  // +checklocksignore
  2022  func (p *PathOperation) StateSave(stateSinkObject state.Sink) {
  2023  	p.beforeSave()
  2024  	stateSinkObject.Save(0, &p.Root)
  2025  	stateSinkObject.Save(1, &p.Start)
  2026  	stateSinkObject.Save(2, &p.Path)
  2027  	stateSinkObject.Save(3, &p.FollowFinalSymlink)
  2028  }
  2029  
  2030  func (p *PathOperation) afterLoad() {}
  2031  
  2032  // +checklocksignore
  2033  func (p *PathOperation) StateLoad(stateSourceObject state.Source) {
  2034  	stateSourceObject.Load(0, &p.Root)
  2035  	stateSourceObject.Load(1, &p.Start)
  2036  	stateSourceObject.Load(2, &p.Path)
  2037  	stateSourceObject.Load(3, &p.FollowFinalSymlink)
  2038  }
  2039  
  2040  func (vd *VirtualDentry) StateTypeName() string {
  2041  	return "pkg/sentry/vfs.VirtualDentry"
  2042  }
  2043  
  2044  func (vd *VirtualDentry) StateFields() []string {
  2045  	return []string{
  2046  		"mount",
  2047  		"dentry",
  2048  	}
  2049  }
  2050  
  2051  func (vd *VirtualDentry) beforeSave() {}
  2052  
  2053  // +checklocksignore
  2054  func (vd *VirtualDentry) StateSave(stateSinkObject state.Sink) {
  2055  	vd.beforeSave()
  2056  	stateSinkObject.Save(0, &vd.mount)
  2057  	stateSinkObject.Save(1, &vd.dentry)
  2058  }
  2059  
  2060  func (vd *VirtualDentry) afterLoad() {}
  2061  
  2062  // +checklocksignore
  2063  func (vd *VirtualDentry) StateLoad(stateSourceObject state.Source) {
  2064  	stateSourceObject.Load(0, &vd.mount)
  2065  	stateSourceObject.Load(1, &vd.dentry)
  2066  }
  2067  
  2068  func init() {
  2069  	state.Register((*anonFilesystemType)(nil))
  2070  	state.Register((*anonFilesystem)(nil))
  2071  	state.Register((*anonDentry)(nil))
  2072  	state.Register((*Dentry)(nil))
  2073  	state.Register((*DeviceKind)(nil))
  2074  	state.Register((*devTuple)(nil))
  2075  	state.Register((*registeredDevice)(nil))
  2076  	state.Register((*RegisterDeviceOptions)(nil))
  2077  	state.Register((*EpollInstance)(nil))
  2078  	state.Register((*epollInterestKey)(nil))
  2079  	state.Register((*epollInterest)(nil))
  2080  	state.Register((*epollInterestList)(nil))
  2081  	state.Register((*epollInterestEntry)(nil))
  2082  	state.Register((*eventList)(nil))
  2083  	state.Register((*eventEntry)(nil))
  2084  	state.Register((*FileDescription)(nil))
  2085  	state.Register((*FileDescriptionOptions)(nil))
  2086  	state.Register((*Dirent)(nil))
  2087  	state.Register((*FileDescriptionDefaultImpl)(nil))
  2088  	state.Register((*DirectoryFileDescriptionDefaultImpl)(nil))
  2089  	state.Register((*DentryMetadataFileDescriptionImpl)(nil))
  2090  	state.Register((*StaticData)(nil))
  2091  	state.Register((*DynamicBytesFileDescriptionImpl)(nil))
  2092  	state.Register((*LockFD)(nil))
  2093  	state.Register((*NoLockFD)(nil))
  2094  	state.Register((*BadLockFD)(nil))
  2095  	state.Register((*FileDescriptionRefs)(nil))
  2096  	state.Register((*Filesystem)(nil))
  2097  	state.Register((*PrependPathAtVFSRootError)(nil))
  2098  	state.Register((*PrependPathAtNonMountRootError)(nil))
  2099  	state.Register((*PrependPathSyntheticError)(nil))
  2100  	state.Register((*FilesystemRefs)(nil))
  2101  	state.Register((*registeredFilesystemType)(nil))
  2102  	state.Register((*RegisterFilesystemTypeOptions)(nil))
  2103  	state.Register((*EventType)(nil))
  2104  	state.Register((*Inotify)(nil))
  2105  	state.Register((*Watches)(nil))
  2106  	state.Register((*Watch)(nil))
  2107  	state.Register((*Event)(nil))
  2108  	state.Register((*FileLocks)(nil))
  2109  	state.Register((*Mount)(nil))
  2110  	state.Register((*umountRecursiveOptions)(nil))
  2111  	state.Register((*namespaceRefs)(nil))
  2112  	state.Register((*mountEntry)(nil))
  2113  	state.Register((*MountNamespace)(nil))
  2114  	state.Register((*opathFD)(nil))
  2115  	state.Register((*GetDentryOptions)(nil))
  2116  	state.Register((*MkdirOptions)(nil))
  2117  	state.Register((*MknodOptions)(nil))
  2118  	state.Register((*MountFlags)(nil))
  2119  	state.Register((*MountOptions)(nil))
  2120  	state.Register((*OpenOptions)(nil))
  2121  	state.Register((*ReadOptions)(nil))
  2122  	state.Register((*RenameOptions)(nil))
  2123  	state.Register((*SetStatOptions)(nil))
  2124  	state.Register((*BoundEndpointOptions)(nil))
  2125  	state.Register((*GetXattrOptions)(nil))
  2126  	state.Register((*SetXattrOptions)(nil))
  2127  	state.Register((*StatOptions)(nil))
  2128  	state.Register((*UmountOptions)(nil))
  2129  	state.Register((*WriteOptions)(nil))
  2130  	state.Register((*AccessTypes)(nil))
  2131  	state.Register((*ResolvingPath)(nil))
  2132  	state.Register((*resolveMountRootOrJumpError)(nil))
  2133  	state.Register((*resolveMountPointError)(nil))
  2134  	state.Register((*resolveAbsSymlinkError)(nil))
  2135  	state.Register((*VirtualFilesystem)(nil))
  2136  	state.Register((*PathOperation)(nil))
  2137  	state.Register((*VirtualDentry)(nil))
  2138  }