github.com/metacubex/gvisor@v0.0.0-20240320004321-933faba989ec/pkg/sentry/fsimpl/fuse/fuse_state_autogen.go (about)

     1  // automatically generated by stateify.
     2  
     3  package fuse
     4  
     5  import (
     6  	"context"
     7  
     8  	"github.com/metacubex/gvisor/pkg/state"
     9  )
    10  
    11  func (conn *connection) StateTypeName() string {
    12  	return "pkg/sentry/fsimpl/fuse.connection"
    13  }
    14  
    15  func (conn *connection) StateFields() []string {
    16  	return []string{
    17  		"fd",
    18  		"attributeVersion",
    19  		"initialized",
    20  		"initializedChan",
    21  		"connected",
    22  		"connInitError",
    23  		"connInitSuccess",
    24  		"aborted",
    25  		"numWaiting",
    26  		"asyncNum",
    27  		"asyncCongestionThreshold",
    28  		"asyncNumMax",
    29  		"maxRead",
    30  		"maxWrite",
    31  		"maxPages",
    32  		"maxActiveRequests",
    33  		"minor",
    34  		"atomicOTrunc",
    35  		"asyncRead",
    36  		"writebackCache",
    37  		"bigWrites",
    38  		"dontMask",
    39  		"noOpen",
    40  	}
    41  }
    42  
    43  func (conn *connection) beforeSave() {}
    44  
    45  // +checklocksignore
    46  func (conn *connection) StateSave(stateSinkObject state.Sink) {
    47  	conn.beforeSave()
    48  	var initializedChanValue bool
    49  	initializedChanValue = conn.saveInitializedChan()
    50  	stateSinkObject.SaveValue(3, initializedChanValue)
    51  	stateSinkObject.Save(0, &conn.fd)
    52  	stateSinkObject.Save(1, &conn.attributeVersion)
    53  	stateSinkObject.Save(2, &conn.initialized)
    54  	stateSinkObject.Save(4, &conn.connected)
    55  	stateSinkObject.Save(5, &conn.connInitError)
    56  	stateSinkObject.Save(6, &conn.connInitSuccess)
    57  	stateSinkObject.Save(7, &conn.aborted)
    58  	stateSinkObject.Save(8, &conn.numWaiting)
    59  	stateSinkObject.Save(9, &conn.asyncNum)
    60  	stateSinkObject.Save(10, &conn.asyncCongestionThreshold)
    61  	stateSinkObject.Save(11, &conn.asyncNumMax)
    62  	stateSinkObject.Save(12, &conn.maxRead)
    63  	stateSinkObject.Save(13, &conn.maxWrite)
    64  	stateSinkObject.Save(14, &conn.maxPages)
    65  	stateSinkObject.Save(15, &conn.maxActiveRequests)
    66  	stateSinkObject.Save(16, &conn.minor)
    67  	stateSinkObject.Save(17, &conn.atomicOTrunc)
    68  	stateSinkObject.Save(18, &conn.asyncRead)
    69  	stateSinkObject.Save(19, &conn.writebackCache)
    70  	stateSinkObject.Save(20, &conn.bigWrites)
    71  	stateSinkObject.Save(21, &conn.dontMask)
    72  	stateSinkObject.Save(22, &conn.noOpen)
    73  }
    74  
    75  func (conn *connection) afterLoad(context.Context) {}
    76  
    77  // +checklocksignore
    78  func (conn *connection) StateLoad(ctx context.Context, stateSourceObject state.Source) {
    79  	stateSourceObject.Load(0, &conn.fd)
    80  	stateSourceObject.Load(1, &conn.attributeVersion)
    81  	stateSourceObject.Load(2, &conn.initialized)
    82  	stateSourceObject.Load(4, &conn.connected)
    83  	stateSourceObject.Load(5, &conn.connInitError)
    84  	stateSourceObject.Load(6, &conn.connInitSuccess)
    85  	stateSourceObject.Load(7, &conn.aborted)
    86  	stateSourceObject.Load(8, &conn.numWaiting)
    87  	stateSourceObject.Load(9, &conn.asyncNum)
    88  	stateSourceObject.Load(10, &conn.asyncCongestionThreshold)
    89  	stateSourceObject.Load(11, &conn.asyncNumMax)
    90  	stateSourceObject.Load(12, &conn.maxRead)
    91  	stateSourceObject.Load(13, &conn.maxWrite)
    92  	stateSourceObject.Load(14, &conn.maxPages)
    93  	stateSourceObject.Load(15, &conn.maxActiveRequests)
    94  	stateSourceObject.Load(16, &conn.minor)
    95  	stateSourceObject.Load(17, &conn.atomicOTrunc)
    96  	stateSourceObject.Load(18, &conn.asyncRead)
    97  	stateSourceObject.Load(19, &conn.writebackCache)
    98  	stateSourceObject.Load(20, &conn.bigWrites)
    99  	stateSourceObject.Load(21, &conn.dontMask)
   100  	stateSourceObject.Load(22, &conn.noOpen)
   101  	stateSourceObject.LoadValue(3, new(bool), func(y any) { conn.loadInitializedChan(ctx, y.(bool)) })
   102  }
   103  
   104  func (f *fuseDevice) StateTypeName() string {
   105  	return "pkg/sentry/fsimpl/fuse.fuseDevice"
   106  }
   107  
   108  func (f *fuseDevice) StateFields() []string {
   109  	return []string{}
   110  }
   111  
   112  func (f *fuseDevice) beforeSave() {}
   113  
   114  // +checklocksignore
   115  func (f *fuseDevice) StateSave(stateSinkObject state.Sink) {
   116  	f.beforeSave()
   117  }
   118  
   119  func (f *fuseDevice) afterLoad(context.Context) {}
   120  
   121  // +checklocksignore
   122  func (f *fuseDevice) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   123  }
   124  
   125  func (fd *DeviceFD) StateTypeName() string {
   126  	return "pkg/sentry/fsimpl/fuse.DeviceFD"
   127  }
   128  
   129  func (fd *DeviceFD) StateFields() []string {
   130  	return []string{
   131  		"vfsfd",
   132  		"FileDescriptionDefaultImpl",
   133  		"DentryMetadataFileDescriptionImpl",
   134  		"NoLockFD",
   135  		"waitQueue",
   136  		"fullQueueCh",
   137  		"nextOpID",
   138  		"queue",
   139  		"numActiveRequests",
   140  		"completions",
   141  		"writeBuf",
   142  		"conn",
   143  	}
   144  }
   145  
   146  func (fd *DeviceFD) beforeSave() {}
   147  
   148  // +checklocksignore
   149  func (fd *DeviceFD) StateSave(stateSinkObject state.Sink) {
   150  	fd.beforeSave()
   151  	var fullQueueChValue int
   152  	fullQueueChValue = fd.saveFullQueueCh()
   153  	stateSinkObject.SaveValue(5, fullQueueChValue)
   154  	stateSinkObject.Save(0, &fd.vfsfd)
   155  	stateSinkObject.Save(1, &fd.FileDescriptionDefaultImpl)
   156  	stateSinkObject.Save(2, &fd.DentryMetadataFileDescriptionImpl)
   157  	stateSinkObject.Save(3, &fd.NoLockFD)
   158  	stateSinkObject.Save(4, &fd.waitQueue)
   159  	stateSinkObject.Save(6, &fd.nextOpID)
   160  	stateSinkObject.Save(7, &fd.queue)
   161  	stateSinkObject.Save(8, &fd.numActiveRequests)
   162  	stateSinkObject.Save(9, &fd.completions)
   163  	stateSinkObject.Save(10, &fd.writeBuf)
   164  	stateSinkObject.Save(11, &fd.conn)
   165  }
   166  
   167  func (fd *DeviceFD) afterLoad(context.Context) {}
   168  
   169  // +checklocksignore
   170  func (fd *DeviceFD) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   171  	stateSourceObject.Load(0, &fd.vfsfd)
   172  	stateSourceObject.Load(1, &fd.FileDescriptionDefaultImpl)
   173  	stateSourceObject.Load(2, &fd.DentryMetadataFileDescriptionImpl)
   174  	stateSourceObject.Load(3, &fd.NoLockFD)
   175  	stateSourceObject.Load(4, &fd.waitQueue)
   176  	stateSourceObject.Load(6, &fd.nextOpID)
   177  	stateSourceObject.Load(7, &fd.queue)
   178  	stateSourceObject.Load(8, &fd.numActiveRequests)
   179  	stateSourceObject.Load(9, &fd.completions)
   180  	stateSourceObject.Load(10, &fd.writeBuf)
   181  	stateSourceObject.Load(11, &fd.conn)
   182  	stateSourceObject.LoadValue(5, new(int), func(y any) { fd.loadFullQueueCh(ctx, y.(int)) })
   183  }
   184  
   185  func (dir *directoryFD) StateTypeName() string {
   186  	return "pkg/sentry/fsimpl/fuse.directoryFD"
   187  }
   188  
   189  func (dir *directoryFD) StateFields() []string {
   190  	return []string{
   191  		"fileDescription",
   192  	}
   193  }
   194  
   195  func (dir *directoryFD) beforeSave() {}
   196  
   197  // +checklocksignore
   198  func (dir *directoryFD) StateSave(stateSinkObject state.Sink) {
   199  	dir.beforeSave()
   200  	stateSinkObject.Save(0, &dir.fileDescription)
   201  }
   202  
   203  func (dir *directoryFD) afterLoad(context.Context) {}
   204  
   205  // +checklocksignore
   206  func (dir *directoryFD) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   207  	stateSourceObject.Load(0, &dir.fileDescription)
   208  }
   209  
   210  func (fd *fileDescription) StateTypeName() string {
   211  	return "pkg/sentry/fsimpl/fuse.fileDescription"
   212  }
   213  
   214  func (fd *fileDescription) StateFields() []string {
   215  	return []string{
   216  		"vfsfd",
   217  		"FileDescriptionDefaultImpl",
   218  		"DentryMetadataFileDescriptionImpl",
   219  		"LockFD",
   220  		"Fh",
   221  		"Nonseekable",
   222  		"DirectIO",
   223  		"OpenFlag",
   224  		"off",
   225  	}
   226  }
   227  
   228  func (fd *fileDescription) beforeSave() {}
   229  
   230  // +checklocksignore
   231  func (fd *fileDescription) StateSave(stateSinkObject state.Sink) {
   232  	fd.beforeSave()
   233  	stateSinkObject.Save(0, &fd.vfsfd)
   234  	stateSinkObject.Save(1, &fd.FileDescriptionDefaultImpl)
   235  	stateSinkObject.Save(2, &fd.DentryMetadataFileDescriptionImpl)
   236  	stateSinkObject.Save(3, &fd.LockFD)
   237  	stateSinkObject.Save(4, &fd.Fh)
   238  	stateSinkObject.Save(5, &fd.Nonseekable)
   239  	stateSinkObject.Save(6, &fd.DirectIO)
   240  	stateSinkObject.Save(7, &fd.OpenFlag)
   241  	stateSinkObject.Save(8, &fd.off)
   242  }
   243  
   244  func (fd *fileDescription) afterLoad(context.Context) {}
   245  
   246  // +checklocksignore
   247  func (fd *fileDescription) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   248  	stateSourceObject.Load(0, &fd.vfsfd)
   249  	stateSourceObject.Load(1, &fd.FileDescriptionDefaultImpl)
   250  	stateSourceObject.Load(2, &fd.DentryMetadataFileDescriptionImpl)
   251  	stateSourceObject.Load(3, &fd.LockFD)
   252  	stateSourceObject.Load(4, &fd.Fh)
   253  	stateSourceObject.Load(5, &fd.Nonseekable)
   254  	stateSourceObject.Load(6, &fd.DirectIO)
   255  	stateSourceObject.Load(7, &fd.OpenFlag)
   256  	stateSourceObject.Load(8, &fd.off)
   257  }
   258  
   259  func (fsType *FilesystemType) StateTypeName() string {
   260  	return "pkg/sentry/fsimpl/fuse.FilesystemType"
   261  }
   262  
   263  func (fsType *FilesystemType) StateFields() []string {
   264  	return []string{}
   265  }
   266  
   267  func (fsType *FilesystemType) beforeSave() {}
   268  
   269  // +checklocksignore
   270  func (fsType *FilesystemType) StateSave(stateSinkObject state.Sink) {
   271  	fsType.beforeSave()
   272  }
   273  
   274  func (fsType *FilesystemType) afterLoad(context.Context) {}
   275  
   276  // +checklocksignore
   277  func (fsType *FilesystemType) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   278  }
   279  
   280  func (f *filesystemOptions) StateTypeName() string {
   281  	return "pkg/sentry/fsimpl/fuse.filesystemOptions"
   282  }
   283  
   284  func (f *filesystemOptions) StateFields() []string {
   285  	return []string{
   286  		"mopts",
   287  		"uid",
   288  		"gid",
   289  		"rootMode",
   290  		"maxActiveRequests",
   291  		"maxRead",
   292  		"defaultPermissions",
   293  		"allowOther",
   294  	}
   295  }
   296  
   297  func (f *filesystemOptions) beforeSave() {}
   298  
   299  // +checklocksignore
   300  func (f *filesystemOptions) StateSave(stateSinkObject state.Sink) {
   301  	f.beforeSave()
   302  	stateSinkObject.Save(0, &f.mopts)
   303  	stateSinkObject.Save(1, &f.uid)
   304  	stateSinkObject.Save(2, &f.gid)
   305  	stateSinkObject.Save(3, &f.rootMode)
   306  	stateSinkObject.Save(4, &f.maxActiveRequests)
   307  	stateSinkObject.Save(5, &f.maxRead)
   308  	stateSinkObject.Save(6, &f.defaultPermissions)
   309  	stateSinkObject.Save(7, &f.allowOther)
   310  }
   311  
   312  func (f *filesystemOptions) afterLoad(context.Context) {}
   313  
   314  // +checklocksignore
   315  func (f *filesystemOptions) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   316  	stateSourceObject.Load(0, &f.mopts)
   317  	stateSourceObject.Load(1, &f.uid)
   318  	stateSourceObject.Load(2, &f.gid)
   319  	stateSourceObject.Load(3, &f.rootMode)
   320  	stateSourceObject.Load(4, &f.maxActiveRequests)
   321  	stateSourceObject.Load(5, &f.maxRead)
   322  	stateSourceObject.Load(6, &f.defaultPermissions)
   323  	stateSourceObject.Load(7, &f.allowOther)
   324  }
   325  
   326  func (fs *filesystem) StateTypeName() string {
   327  	return "pkg/sentry/fsimpl/fuse.filesystem"
   328  }
   329  
   330  func (fs *filesystem) StateFields() []string {
   331  	return []string{
   332  		"Filesystem",
   333  		"devMinor",
   334  		"conn",
   335  		"opts",
   336  		"clock",
   337  	}
   338  }
   339  
   340  func (fs *filesystem) beforeSave() {}
   341  
   342  // +checklocksignore
   343  func (fs *filesystem) StateSave(stateSinkObject state.Sink) {
   344  	fs.beforeSave()
   345  	stateSinkObject.Save(0, &fs.Filesystem)
   346  	stateSinkObject.Save(1, &fs.devMinor)
   347  	stateSinkObject.Save(2, &fs.conn)
   348  	stateSinkObject.Save(3, &fs.opts)
   349  	stateSinkObject.Save(4, &fs.clock)
   350  }
   351  
   352  func (fs *filesystem) afterLoad(context.Context) {}
   353  
   354  // +checklocksignore
   355  func (fs *filesystem) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   356  	stateSourceObject.Load(0, &fs.Filesystem)
   357  	stateSourceObject.Load(1, &fs.devMinor)
   358  	stateSourceObject.Load(2, &fs.conn)
   359  	stateSourceObject.Load(3, &fs.opts)
   360  	stateSourceObject.Load(4, &fs.clock)
   361  }
   362  
   363  func (f *fileHandle) StateTypeName() string {
   364  	return "pkg/sentry/fsimpl/fuse.fileHandle"
   365  }
   366  
   367  func (f *fileHandle) StateFields() []string {
   368  	return []string{
   369  		"new",
   370  		"handle",
   371  		"flags",
   372  	}
   373  }
   374  
   375  func (f *fileHandle) beforeSave() {}
   376  
   377  // +checklocksignore
   378  func (f *fileHandle) StateSave(stateSinkObject state.Sink) {
   379  	f.beforeSave()
   380  	stateSinkObject.Save(0, &f.new)
   381  	stateSinkObject.Save(1, &f.handle)
   382  	stateSinkObject.Save(2, &f.flags)
   383  }
   384  
   385  func (f *fileHandle) afterLoad(context.Context) {}
   386  
   387  // +checklocksignore
   388  func (f *fileHandle) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   389  	stateSourceObject.Load(0, &f.new)
   390  	stateSourceObject.Load(1, &f.handle)
   391  	stateSourceObject.Load(2, &f.flags)
   392  }
   393  
   394  func (i *inode) StateTypeName() string {
   395  	return "pkg/sentry/fsimpl/fuse.inode"
   396  }
   397  
   398  func (i *inode) StateFields() []string {
   399  	return []string{
   400  		"inodeRefs",
   401  		"InodeAlwaysValid",
   402  		"InodeNotAnonymous",
   403  		"InodeNotSymlink",
   404  		"InodeWatches",
   405  		"OrderedChildren",
   406  		"CachedMappable",
   407  		"fs",
   408  		"nodeID",
   409  		"attrVersion",
   410  		"attrTime",
   411  		"link",
   412  		"fh",
   413  		"locks",
   414  		"watches",
   415  		"ino",
   416  		"uid",
   417  		"gid",
   418  		"mode",
   419  		"atime",
   420  		"mtime",
   421  		"ctime",
   422  		"size",
   423  		"nlink",
   424  		"blockSize",
   425  	}
   426  }
   427  
   428  func (i *inode) beforeSave() {}
   429  
   430  // +checklocksignore
   431  func (i *inode) StateSave(stateSinkObject state.Sink) {
   432  	i.beforeSave()
   433  	stateSinkObject.Save(0, &i.inodeRefs)
   434  	stateSinkObject.Save(1, &i.InodeAlwaysValid)
   435  	stateSinkObject.Save(2, &i.InodeNotAnonymous)
   436  	stateSinkObject.Save(3, &i.InodeNotSymlink)
   437  	stateSinkObject.Save(4, &i.InodeWatches)
   438  	stateSinkObject.Save(5, &i.OrderedChildren)
   439  	stateSinkObject.Save(6, &i.CachedMappable)
   440  	stateSinkObject.Save(7, &i.fs)
   441  	stateSinkObject.Save(8, &i.nodeID)
   442  	stateSinkObject.Save(9, &i.attrVersion)
   443  	stateSinkObject.Save(10, &i.attrTime)
   444  	stateSinkObject.Save(11, &i.link)
   445  	stateSinkObject.Save(12, &i.fh)
   446  	stateSinkObject.Save(13, &i.locks)
   447  	stateSinkObject.Save(14, &i.watches)
   448  	stateSinkObject.Save(15, &i.ino)
   449  	stateSinkObject.Save(16, &i.uid)
   450  	stateSinkObject.Save(17, &i.gid)
   451  	stateSinkObject.Save(18, &i.mode)
   452  	stateSinkObject.Save(19, &i.atime)
   453  	stateSinkObject.Save(20, &i.mtime)
   454  	stateSinkObject.Save(21, &i.ctime)
   455  	stateSinkObject.Save(22, &i.size)
   456  	stateSinkObject.Save(23, &i.nlink)
   457  	stateSinkObject.Save(24, &i.blockSize)
   458  }
   459  
   460  func (i *inode) afterLoad(context.Context) {}
   461  
   462  // +checklocksignore
   463  func (i *inode) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   464  	stateSourceObject.Load(0, &i.inodeRefs)
   465  	stateSourceObject.Load(1, &i.InodeAlwaysValid)
   466  	stateSourceObject.Load(2, &i.InodeNotAnonymous)
   467  	stateSourceObject.Load(3, &i.InodeNotSymlink)
   468  	stateSourceObject.Load(4, &i.InodeWatches)
   469  	stateSourceObject.Load(5, &i.OrderedChildren)
   470  	stateSourceObject.Load(6, &i.CachedMappable)
   471  	stateSourceObject.Load(7, &i.fs)
   472  	stateSourceObject.Load(8, &i.nodeID)
   473  	stateSourceObject.Load(9, &i.attrVersion)
   474  	stateSourceObject.Load(10, &i.attrTime)
   475  	stateSourceObject.Load(11, &i.link)
   476  	stateSourceObject.Load(12, &i.fh)
   477  	stateSourceObject.Load(13, &i.locks)
   478  	stateSourceObject.Load(14, &i.watches)
   479  	stateSourceObject.Load(15, &i.ino)
   480  	stateSourceObject.Load(16, &i.uid)
   481  	stateSourceObject.Load(17, &i.gid)
   482  	stateSourceObject.Load(18, &i.mode)
   483  	stateSourceObject.Load(19, &i.atime)
   484  	stateSourceObject.Load(20, &i.mtime)
   485  	stateSourceObject.Load(21, &i.ctime)
   486  	stateSourceObject.Load(22, &i.size)
   487  	stateSourceObject.Load(23, &i.nlink)
   488  	stateSourceObject.Load(24, &i.blockSize)
   489  }
   490  
   491  func (r *inodeRefs) StateTypeName() string {
   492  	return "pkg/sentry/fsimpl/fuse.inodeRefs"
   493  }
   494  
   495  func (r *inodeRefs) StateFields() []string {
   496  	return []string{
   497  		"refCount",
   498  	}
   499  }
   500  
   501  func (r *inodeRefs) beforeSave() {}
   502  
   503  // +checklocksignore
   504  func (r *inodeRefs) StateSave(stateSinkObject state.Sink) {
   505  	r.beforeSave()
   506  	stateSinkObject.Save(0, &r.refCount)
   507  }
   508  
   509  // +checklocksignore
   510  func (r *inodeRefs) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   511  	stateSourceObject.Load(0, &r.refCount)
   512  	stateSourceObject.AfterLoad(func() { r.afterLoad(ctx) })
   513  }
   514  
   515  func (fd *regularFileFD) StateTypeName() string {
   516  	return "pkg/sentry/fsimpl/fuse.regularFileFD"
   517  }
   518  
   519  func (fd *regularFileFD) StateFields() []string {
   520  	return []string{
   521  		"fileDescription",
   522  		"off",
   523  		"mappings",
   524  		"data",
   525  	}
   526  }
   527  
   528  func (fd *regularFileFD) beforeSave() {}
   529  
   530  // +checklocksignore
   531  func (fd *regularFileFD) StateSave(stateSinkObject state.Sink) {
   532  	fd.beforeSave()
   533  	stateSinkObject.Save(0, &fd.fileDescription)
   534  	stateSinkObject.Save(1, &fd.off)
   535  	stateSinkObject.Save(2, &fd.mappings)
   536  	stateSinkObject.Save(3, &fd.data)
   537  }
   538  
   539  func (fd *regularFileFD) afterLoad(context.Context) {}
   540  
   541  // +checklocksignore
   542  func (fd *regularFileFD) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   543  	stateSourceObject.Load(0, &fd.fileDescription)
   544  	stateSourceObject.Load(1, &fd.off)
   545  	stateSourceObject.Load(2, &fd.mappings)
   546  	stateSourceObject.Load(3, &fd.data)
   547  }
   548  
   549  func (l *requestList) StateTypeName() string {
   550  	return "pkg/sentry/fsimpl/fuse.requestList"
   551  }
   552  
   553  func (l *requestList) StateFields() []string {
   554  	return []string{
   555  		"head",
   556  		"tail",
   557  	}
   558  }
   559  
   560  func (l *requestList) beforeSave() {}
   561  
   562  // +checklocksignore
   563  func (l *requestList) StateSave(stateSinkObject state.Sink) {
   564  	l.beforeSave()
   565  	stateSinkObject.Save(0, &l.head)
   566  	stateSinkObject.Save(1, &l.tail)
   567  }
   568  
   569  func (l *requestList) afterLoad(context.Context) {}
   570  
   571  // +checklocksignore
   572  func (l *requestList) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   573  	stateSourceObject.Load(0, &l.head)
   574  	stateSourceObject.Load(1, &l.tail)
   575  }
   576  
   577  func (e *requestEntry) StateTypeName() string {
   578  	return "pkg/sentry/fsimpl/fuse.requestEntry"
   579  }
   580  
   581  func (e *requestEntry) StateFields() []string {
   582  	return []string{
   583  		"next",
   584  		"prev",
   585  	}
   586  }
   587  
   588  func (e *requestEntry) beforeSave() {}
   589  
   590  // +checklocksignore
   591  func (e *requestEntry) StateSave(stateSinkObject state.Sink) {
   592  	e.beforeSave()
   593  	stateSinkObject.Save(0, &e.next)
   594  	stateSinkObject.Save(1, &e.prev)
   595  }
   596  
   597  func (e *requestEntry) afterLoad(context.Context) {}
   598  
   599  // +checklocksignore
   600  func (e *requestEntry) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   601  	stateSourceObject.Load(0, &e.next)
   602  	stateSourceObject.Load(1, &e.prev)
   603  }
   604  
   605  func (r *Request) StateTypeName() string {
   606  	return "pkg/sentry/fsimpl/fuse.Request"
   607  }
   608  
   609  func (r *Request) StateFields() []string {
   610  	return []string{
   611  		"requestEntry",
   612  		"id",
   613  		"hdr",
   614  		"data",
   615  		"async",
   616  		"noReply",
   617  	}
   618  }
   619  
   620  func (r *Request) beforeSave() {}
   621  
   622  // +checklocksignore
   623  func (r *Request) StateSave(stateSinkObject state.Sink) {
   624  	r.beforeSave()
   625  	stateSinkObject.Save(0, &r.requestEntry)
   626  	stateSinkObject.Save(1, &r.id)
   627  	stateSinkObject.Save(2, &r.hdr)
   628  	stateSinkObject.Save(3, &r.data)
   629  	stateSinkObject.Save(4, &r.async)
   630  	stateSinkObject.Save(5, &r.noReply)
   631  }
   632  
   633  func (r *Request) afterLoad(context.Context) {}
   634  
   635  // +checklocksignore
   636  func (r *Request) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   637  	stateSourceObject.Load(0, &r.requestEntry)
   638  	stateSourceObject.Load(1, &r.id)
   639  	stateSourceObject.Load(2, &r.hdr)
   640  	stateSourceObject.Load(3, &r.data)
   641  	stateSourceObject.Load(4, &r.async)
   642  	stateSourceObject.Load(5, &r.noReply)
   643  }
   644  
   645  func (fRes *futureResponse) StateTypeName() string {
   646  	return "pkg/sentry/fsimpl/fuse.futureResponse"
   647  }
   648  
   649  func (fRes *futureResponse) StateFields() []string {
   650  	return []string{
   651  		"opcode",
   652  		"hdr",
   653  		"data",
   654  		"async",
   655  	}
   656  }
   657  
   658  func (fRes *futureResponse) beforeSave() {}
   659  
   660  // +checklocksignore
   661  func (fRes *futureResponse) StateSave(stateSinkObject state.Sink) {
   662  	fRes.beforeSave()
   663  	stateSinkObject.Save(0, &fRes.opcode)
   664  	stateSinkObject.Save(1, &fRes.hdr)
   665  	stateSinkObject.Save(2, &fRes.data)
   666  	stateSinkObject.Save(3, &fRes.async)
   667  }
   668  
   669  // +checklocksignore
   670  func (fRes *futureResponse) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   671  	stateSourceObject.Load(0, &fRes.opcode)
   672  	stateSourceObject.Load(1, &fRes.hdr)
   673  	stateSourceObject.Load(2, &fRes.data)
   674  	stateSourceObject.Load(3, &fRes.async)
   675  	stateSourceObject.AfterLoad(func() { fRes.afterLoad(ctx) })
   676  }
   677  
   678  func (r *Response) StateTypeName() string {
   679  	return "pkg/sentry/fsimpl/fuse.Response"
   680  }
   681  
   682  func (r *Response) StateFields() []string {
   683  	return []string{
   684  		"opcode",
   685  		"hdr",
   686  		"data",
   687  	}
   688  }
   689  
   690  func (r *Response) beforeSave() {}
   691  
   692  // +checklocksignore
   693  func (r *Response) StateSave(stateSinkObject state.Sink) {
   694  	r.beforeSave()
   695  	stateSinkObject.Save(0, &r.opcode)
   696  	stateSinkObject.Save(1, &r.hdr)
   697  	stateSinkObject.Save(2, &r.data)
   698  }
   699  
   700  func (r *Response) afterLoad(context.Context) {}
   701  
   702  // +checklocksignore
   703  func (r *Response) StateLoad(ctx context.Context, stateSourceObject state.Source) {
   704  	stateSourceObject.Load(0, &r.opcode)
   705  	stateSourceObject.Load(1, &r.hdr)
   706  	stateSourceObject.Load(2, &r.data)
   707  }
   708  
   709  func init() {
   710  	state.Register((*connection)(nil))
   711  	state.Register((*fuseDevice)(nil))
   712  	state.Register((*DeviceFD)(nil))
   713  	state.Register((*directoryFD)(nil))
   714  	state.Register((*fileDescription)(nil))
   715  	state.Register((*FilesystemType)(nil))
   716  	state.Register((*filesystemOptions)(nil))
   717  	state.Register((*filesystem)(nil))
   718  	state.Register((*fileHandle)(nil))
   719  	state.Register((*inode)(nil))
   720  	state.Register((*inodeRefs)(nil))
   721  	state.Register((*regularFileFD)(nil))
   722  	state.Register((*requestList)(nil))
   723  	state.Register((*requestEntry)(nil))
   724  	state.Register((*Request)(nil))
   725  	state.Register((*futureResponse)(nil))
   726  	state.Register((*Response)(nil))
   727  }