예제 #1
0
파일: srv.py 프로젝트: mayli/pinefs
 def NFSPROC_GETATTR (self, fh):
     attrstat = rfc1094.attrstat ()
     fil = self.fs.get_fil (fh)
     if fil == None:
         attrstat.status = rfc1094.NFSERR_STALE
     else:
         attrstat.status = rfc1094.NFS_OK
         attrstat._data = fil
     return attrstat
예제 #2
0
파일: srv.py 프로젝트: speidy/pinefs
 def NFSPROC_GETATTR(self, fh):
     _as = rfc1094.attrstat()
     fil = self.fs.get_fil(fh)
     if fil == None:
         _as.status = rfc1094.NFSERR_STALE
     else:
         _as.status = rfc1094.NFS_OK
         _as._data = fil
     return _as
예제 #3
0
파일: srv.py 프로젝트: mayli/pinefs
 def NFSPROC_WRITE (self, wa):
     rv = rfc1094.attrstat ()
     try:
         fil = self.fs.get_fil (wa.file)
         if fil == None:
             raise fsbase.NFSError (rfc1094.NFSERR_STALE)
         fil.write (wa.offset, wa.data)
         rv.status = rfc1094.NFS_OK
         rv._data = fil
     except fsbase.NFSError, err:
         rv.status = err.err
예제 #4
0
파일: srv.py 프로젝트: kskuhlman/pinefs
 def NFSPROC_WRITE (self, wa):
     rv = rfc1094.attrstat ()
     try:
         fil = self.fs.get_fil (wa.file)
         if fil == None:
             raise fsbase.NFSError (rfc1094.NFSERR_STALE)
         fil.write (wa.offset, wa.data)
         rv.status = rfc1094.NFS_OK
         rv._data = fil
     except fsbase.NFSError, err:
         rv.status = err.err
예제 #5
0
파일: srv.py 프로젝트: mayli/pinefs
 def NFSPROC_SETATTR (self, sattrargs):
     rv = rfc1094.attrstat ()
     try:
         fil= self.fs.get_fil (sattrargs.file)
         if fil <> None:
             fil.update (sattrargs.attributes)
             rv.status = rfc1094.NFS_OK
             rv._data = fil
         else:
             rv.status = rfc1094.NFSERR_STALE
     except fsbase.NFSError, err:
         rv.status = err.err
예제 #6
0
파일: srv.py 프로젝트: kskuhlman/pinefs
 def NFSPROC_SETATTR (self, sattrargs):
     rv = rfc1094.attrstat ()
     try:
         fil= self.fs.get_fil (sattrargs.file)
         if fil <> None:
             fil.update (sattrargs.attributes)
             rv.status = rfc1094.NFS_OK
             rv._data = fil
         else:
             rv.status = rfc1094.NFSERR_STALE
     except fsbase.NFSError, err:
         rv.status = err.err
예제 #7
0
파일: srv.py 프로젝트: kskuhlman/pinefs
class NfsSrv (rfc1094.NFS_PROGRAM_2, HostAccessControl):
    """See RFC1094."""
    deliberately_unimplemented = ['NFSPROC_WRITECACHE', 'NFSPROC_ROOT']
    # WRITECACHE and ROOT aren't used at all.
    def __init__ (self, fs):
        self.fs = fs
        rfc1094.NFS_PROGRAM_2.__init__ (self)
    def NFSPROC_NULL (self):
        return None
    def NFSPROC_GETATTR (self, fh):
        as = rfc1094.attrstat ()
        fil = self.fs.get_fil (fh)
        if fil == None:
            as.status = rfc1094.NFSERR_STALE