[ 
https://issues.apache.org/jira/browse/HDFS-4897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679834#comment-13679834
 ] 

Kousuke Saruta commented on HDFS-4897:
--------------------------------------

In 3.0.0 implementation, cp -p command preserves only mtime, atime, owner, 
group, permisson of files.
I think that as well as quota, other attributes should be preserved by cp -p 
command. So, I think that adding preserveAttributes(Path src, Path dst) is good 
idea.

{code}
 protected void copyFileToTarget(PathData src, PathData target) throws 
IOException {
    src.fs.setVerifyChecksum(verifyChecksum);
    InputStream in = null;
    try {
      in = src.fs.open(src.path);
      copyStreamToTarget(in, target);
      if(preserve) {
        target.fs.setTimes(
          target.path,
          src.stat.getModificationTime(),
          src.stat.getAccessTime());
        target.fs.setOwner(
          target.path,
          src.stat.getOwner(),
          src.stat.getGroup());
        target.fs.setPermission(
          target.path,
          src.stat.getPermission());
      }
    } finally {
      IOUtils.closeStream(in);
    }
  }
{code}
                
> Copying a directory does not include the directory's quota settings
> -------------------------------------------------------------------
>
>                 Key: HDFS-4897
>                 URL: https://issues.apache.org/jira/browse/HDFS-4897
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Stephen Chu
>              Labels: quota
>
> [~atm] and I found that when a directory is copied, its quotas settings 
> aren't included.
> {code}
> [04:21:33] atm@simon:~/src/apache/hadoop.git$ hadoop fs -ls /user
> Found 2 items
> drwxr-xr-x   - atm  atm                 0 2013-06-07 16:17 /user/atm
> drwx------   - hdfs supergroup          0 2013-06-07 16:21 /user/hdfs
> [04:21:44] atm@simon:~/src/apache/hadoop.git$ hadoop fs -count -q /user/atm
>          100              91            none             inf            7     
>        2               3338 /user/atm
> [04:21:51] atm@simon:~/src/apache/hadoop.git$ sudo -u hdfs -E `which hadoop` 
> fs -cp /user/atm /user/atm-copy
> [04:22:00] atm@simon:~/src/apache/hadoop.git$ hadoop fs -count -q 
> /user/atm-copy
>         none             inf            none             inf            6     
>        1               3338 /user/atm-copy
> {code}
> This also means that a user will not retain quotas settings when the user 
> takes snapshots and restores a subtree using snapshots because we use copy 
> (not allowed to move snapshots).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to