[ 
https://issues.apache.org/jira/browse/HADOOP-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Craig Macdonald updated HADOOP-4368:
------------------------------------

    Attachment: hadoop4368.fsstatus.patch

This patch in effect corrects the Java API:
 * adds FsStatus in FileSystem, and made DFSClient use this
 * DiskStatus in DistributedFileSystem is deprecate, but extends FsStatus.
 * FSNamesystem#getStats() no longer requires super user privelege - all it 
does is return the values of three variables, so does not add considerable load 
to the name node.
 * As suggested by Doug, the default FileSystem implementation returns 
Long.MAX_VALUE for free and capacity, and 0 for used. This could be fixed for 
LocalFileSystem using the java.io.File api, however, it depends on which 
partition of the local filesystem that you want to query.
   ** In this case, perhaps getStats(Path p) would be more appropriate? 
DistributedFileSystem would ignore the Path parameter

> Superuser privileges required to do "df"
> ----------------------------------------
>
>                 Key: HADOOP-4368
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4368
>             Project: Hadoop Core
>          Issue Type: Wish
>          Components: contrib/fuse-dfs, dfs
>    Affects Versions: 0.18.1
>            Reporter: Brian Bockelman
>            Priority: Minor
>         Attachments: fuse_statfs.patch, fuse_statfs_trunk.patch, 
> hadoop4368.fsstatus.patch
>
>   Original Estimate: 0.17h
>  Remaining Estimate: 0.17h
>
> super user privileges are required in DFS in order to get the file system 
> statistics (FSNamesystem.java, getStats method).  This means that when HDFS 
> is mounted via fuse-dfs as a non-root user, "df" is going to return 
> 16exabytes total and 0 free instead of the correct amount.
> As far as I can tell, there's no need to require super user privileges to see 
> the file system size (and historically in Unix, this is not required).
> To fix this, simply comment out the privilege check in the getStats method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to