src/solaris/classes/sun/nio/fs/LinuxFileSystem.java

Print this page

        

*** 24,34 **** */ package sun.nio.fs; import java.nio.file.*; - import java.nio.file.attribute.*; import java.io.IOException; import java.util.*; import java.security.AccessController; import sun.security.action.GetPropertyAction; import static sun.nio.fs.LinuxNativeDispatcher.*; --- 24,33 ----
*** 74,116 **** // use polling implementation on older kernels return new PollingWatchService(); } } - @Override - @SuppressWarnings("unchecked") - public <V extends FileAttributeView> V newFileAttributeView(Class<V> view, - UnixPath file, - LinkOption... options) - { - if (view == DosFileAttributeView.class) - return (V) new LinuxDosFileAttributeView(file, followLinks(options)); - if (view == UserDefinedFileAttributeView.class) - return (V) new LinuxUserDefinedFileAttributeView(file, followLinks(options)); - return super.newFileAttributeView(view, file, options); - } - @Override - @SuppressWarnings("unchecked") - public DynamicFileAttributeView newFileAttributeView(String name, - UnixPath file, - LinkOption... options) - { - if (name.equals("dos")) - return new LinuxDosFileAttributeView(file, followLinks(options)); - if (name.equals("user")) - return new LinuxUserDefinedFileAttributeView(file, followLinks(options)); - return super.newFileAttributeView(name, file, options); - } - // lazy initialization of the list of supported attribute views private static class SupportedFileFileAttributeViewsHolder { static final Set<String> supportedFileAttributeViews = supportedFileAttributeViews(); private static Set<String> supportedFileAttributeViews() { ! Set<String> result = new HashSet<String>(); ! result.addAll(UnixFileSystem.standardFileAttributeViews()); // additional Linux-specific views result.add("dos"); result.add("user"); return Collections.unmodifiableSet(result); } --- 73,90 ---- // use polling implementation on older kernels return new PollingWatchService(); } } // lazy initialization of the list of supported attribute views private static class SupportedFileFileAttributeViewsHolder { static final Set<String> supportedFileAttributeViews = supportedFileAttributeViews(); private static Set<String> supportedFileAttributeViews() { ! Set<String> result = new HashSet<>(); ! result.addAll(standardFileAttributeViews()); // additional Linux-specific views result.add("dos"); result.add("user"); return Collections.unmodifiableSet(result); }
*** 128,138 **** /** * Returns object to iterate over the mount entries in the given fstab file. */ Iterable<UnixMountEntry> getMountEntries(String fstab) { ! ArrayList<UnixMountEntry> entries = new ArrayList<UnixMountEntry>(); try { long fp = setmntent(fstab.getBytes(), "r".getBytes()); try { for (;;) { UnixMountEntry entry = new UnixMountEntry(); --- 102,112 ---- /** * Returns object to iterate over the mount entries in the given fstab file. */ Iterable<UnixMountEntry> getMountEntries(String fstab) { ! ArrayList<UnixMountEntry> entries = new ArrayList<>(); try { long fp = setmntent(fstab.getBytes(), "r".getBytes()); try { for (;;) { UnixMountEntry entry = new UnixMountEntry();
*** 157,171 **** @Override Iterable<UnixMountEntry> getMountEntries() { return getMountEntries("/etc/mtab"); } - @Override - FileStore getFileStore(UnixPath path) throws IOException { - return new LinuxFileStore(path); - } @Override FileStore getFileStore(UnixMountEntry entry) throws IOException { return new LinuxFileStore(this, entry); } } --- 131,142 ---- @Override Iterable<UnixMountEntry> getMountEntries() { return getMountEntries("/etc/mtab"); } + @Override FileStore getFileStore(UnixMountEntry entry) throws IOException { return new LinuxFileStore(this, entry); } }