Browse Source

Add the missed file in commit r1499029

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1499041 13f79535-47bb-0310-9956-ffa450edef68
Brandon Li 12 years ago
parent
commit
70e9e58ff3

+ 5 - 3
hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java

@@ -50,7 +50,6 @@ abstract public class MountdBase {
 
   /* Start UDP server */
   private void startUDPServer() {
-    rpcProgram.register(PortmapMapping.TRANSPORT_UDP);
     SimpleUdpServer udpServer = new SimpleUdpServer(rpcProgram.getPort(),
         rpcProgram, 1);
     udpServer.run();
@@ -58,14 +57,17 @@ abstract public class MountdBase {
 
   /* Start TCP server */
   private void startTCPServer() {
-    rpcProgram.register(PortmapMapping.TRANSPORT_TCP);
     SimpleTcpServer tcpServer = new SimpleTcpServer(rpcProgram.getPort(),
         rpcProgram, 1);
     tcpServer.run();
   }
 
-  public void start() {
+  public void start(boolean register) {
     startUDPServer();
     startTCPServer();
+    if (register) {
+      rpcProgram.register(PortmapMapping.TRANSPORT_UDP);
+      rpcProgram.register(PortmapMapping.TRANSPORT_TCP);
+    }
   }
 }

+ 6 - 4
hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java

@@ -52,10 +52,12 @@ public abstract class Nfs3Base {
     this.rpcProgram = program;
   }
 
-  public void start() {
-    mountd.start();     // Start mountd
-    rpcProgram.register(PortmapMapping.TRANSPORT_TCP);
-    startTCPServer();   // Start TCP server
+  public void start(boolean register) {
+    mountd.start(register); // Start mountd
+    startTCPServer(); // Start TCP server
+    if (register) {
+      rpcProgram.register(PortmapMapping.TRANSPORT_TCP);
+    }
   }
 
   private void startTCPServer() {

+ 16 - 0
hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3FileAttributes.java

@@ -96,6 +96,22 @@ public class Nfs3FileAttributes {
     this.ctime = this.mtime;
   }
   
+  public Nfs3FileAttributes(Nfs3FileAttributes other) {
+    this.type = other.getType();
+    this.mode = other.getMode();
+    this.nlink = other.getNlink();
+    this.uid = other.getUid();
+    this.gid = other.getGid();
+    this.size = other.getSize();
+    this.used = other.getUsed();
+    this.rdev = new Specdata3();
+    this.fsid = other.getFsid();
+    this.fileid = other.getFileid();
+    this.mtime = new NfsTime(other.getMtime());
+    this.atime = new NfsTime(other.getAtime());
+    this.ctime = new NfsTime(other.getCtime());
+  }
+
   public void serialize(XDR xdr) {
     xdr.writeInt(type);
     xdr.writeInt(mode);

+ 1 - 0
hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/READDIR3Response.java

@@ -61,6 +61,7 @@ public class READDIR3Response extends NFS3Response {
     
     public DirList3(Entry3[] entries, boolean eof) {
       this.entries = ObjectArrays.newArray(entries, entries.length);
+      System.arraycopy(this.entries, 0, entries, 0, entries.length);
       this.eof = eof;
     }
   }

+ 1 - 0
hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/response/READDIRPLUS3Response.java

@@ -65,6 +65,7 @@ public class READDIRPLUS3Response  extends NFS3Response {
     
     public DirListPlus3(EntryPlus3[] entries, boolean eof) {
       this.entries = ObjectArrays.newArray(entries, entries.length);
+      System.arraycopy(this.entries, 0, entries, 0, entries.length);
       this.eof = eof;
     }
 

+ 5 - 0
hadoop-project/pom.xml

@@ -92,6 +92,11 @@
         <artifactId>hadoop-auth</artifactId>
         <version>${project.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.hadoop</groupId>
+        <artifactId>hadoop-nfs</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.hadoop</groupId>
         <artifactId>hadoop-hdfs</artifactId>