next up previous
Siguiente: Cambios al cliente Superior: Mejorando NFS Anterior: Bibliografía

El protocolo NFScp

Descripción en XDR de los argumentos y resultados de copy.

struct copyargs {
        nfs_fh filedest;
        nfs_fh filesrc;
        u_int offsetdest;
        u_int offsetsrc;
        u_int count;
        host hostname;
};

typedef struct copyargs copyargs;

struct copyokres {
        fattr attributesdest;
        fattr attributessrc;
        u_int count;
        struct {
                u_int data_len;
                char *data_val;
        } data;
};


typedef struct copyokres copyokres;

struct copyres {
        nfsstat status;
        union {
                copyokres reply;
        } copyres_u;
};

typedef struct copyres copyres;

Descripción del programa de NFS con la nueva operación de copia.

 program NFS_PROGRAM {
        version NFS_VERSION {
                void
                NFSPROC_NULL(void) = 0;
 
                attrstat
                NFSPROC_GETATTR(nfs_fh) =       1;
 
                attrstat
                NFSPROC_SETATTR(sattrargs) = 2;
 
                void
                NFSPROC_ROOT(void) = 3;
 
                diropres
                NFSPROC_LOOKUP(diropargs) = 4;
 
                readlinkres
                NFSPROC_READLINK(nfs_fh) = 5;
 
                readres
                NFSPROC_READ(readargs) = 6;
 
                void
                NFSPROC_WRITECACHE(void) = 7;
 
                attrstat
                NFSPROC_WRITE(writeargs) = 8;

                diropres
                NFSPROC_CREATE(createargs) = 9;

                nfsstat
                NFSPROC_REMOVE(diropargs) = 10;

                nfsstat
                NFSPROC_RENAME(renameargs) = 11;

                nfsstat
                NFSPROC_LINK(linkargs) = 12;

                nfsstat
                NFSPROC_SYMLINK(symlinkargs) = 13;

                diropres
                NFSPROC_MKDIR(createargs) = 14;

                nfsstat
                NFSPROC_RMDIR(diropargs) = 15;

                readdirres
                NFSPROC_READDIR(readdirargs) = 16;

 
                statfsres
                NFSPROC_STATFS(nfs_fh) = 17;

                copyres
                NFSPROC_COPY(copyargs) = 18;
        } = 2;
 } = 100003;



Download this document: [src.tar.gz][ps.gz][html.tar.gz][dvi.gz]

Congreso HispaLinux 2000