public List<ZFSObject> descendants() { return children(ZFSObject.class); }
public int callback(zfs_handle_t handle, Pointer arg) { set.add((ZFSSnapshot)ZFSObject.create(library, handle)); return 0; } }, null);
/** * Take a snapshot of this ZFS dataset. * * @param snapshotName * the name of the Snapshot to create, i.e. 'monday', * 'before-test'. * @return the created snapshot. */ public ZFSSnapshot createSnapshot(final String snapshotName) { final ZFSSnapshot dataSet = createSnapshot(snapshotName, false); return dataSet; }
/** * Recursively destroy a named snapshot of this dataset and its descendants. */ public void destroySnapshot(String name, boolean recursive) { if (recursive) { for (ZFSObject child : children()) child.destroySnapshot(name, true); } destroySnapshot(name); }
private <T extends ZFSObject> List<T> children(Class<T> type, List<T> list, boolean recursive) { for (ZFSObject snap : snapshots()) { if(type.isInstance(snap)) list.add(type.cast(snap)); } for (ZFSObject child : getChildren()) { if (!child.getName().contains("@")) { if(type.isInstance(child)) list.add(type.cast(child)); if(recursive) child.children(type,list,recursive); } } return list; }
public ZFSObject rollback(boolean recursive) { String filesystem = name.substring(0, getName().indexOf("@")); ZFSObject fs = library.open(filesystem); if (recursive) { /* first pass - check for clones */ List<ZFSObject> list = fs.getChildren(); for (ZFSObject child : list) { if (!child.getName().startsWith(filesystem + "@")) { return child; } } /* second pass - find snapshot index, destroy later snapshots */ boolean found = false; for (ZFSObject snap : fs.snapshots()) { String name = snap.getName(); if (name.equals(getName())) { found = true; continue; } if (found) { snap.destory(); } } } if (LIBZFS.zfs_rollback(fs.handle, handle, recursive) != 0) throw new ZFSException(library); return library.open(filesystem); }
/** * Returns {@link #getName() the name}. */ @Override public String toString() { return getName(); } }
@Override protected void finalize() throws Throwable { dispose(); super.finalize(); }
public int compareTo(ZFSObject that) { long a = Long.parseLong(this.getZfsProperty(zfs_prop_t.ZFS_PROP_CREATETXG)); long b = Long.parseLong(that.getZfsProperty(zfs_prop_t.ZFS_PROP_CREATETXG)); if (a > b) { return 1; } if (a < b) { return -1; } return 0; }
/** * @deprecated added by typo */ public void destory(boolean recursive) { destroy(recursive); }
private <T extends ZFSObject> List<T> children(Class<T> type, List<T> list, boolean recursive) { for (ZFSObject snap : snapshots()) { if(type.isInstance(snap)) list.add(type.cast(snap)); } for (ZFSObject child : getChildren()) { if (!child.getName().contains("@")) { if(type.isInstance(child)) list.add(type.cast(child)); if(recursive) child.children(type,list,recursive); } } return list; }
public ZFSObject rollback(boolean recursive) { String filesystem = name.substring(0, getName().indexOf("@")); ZFSObject fs = library.open(filesystem); if (recursive) { /* first pass - check for clones */ List<ZFSObject> list = fs.getChildren(); for (ZFSObject child : list) { if (!child.getName().startsWith(filesystem + "@")) { return child; } } /* second pass - find snapshot index, destroy later snapshots */ boolean found = false; for (ZFSObject snap : fs.snapshots()) { String name = snap.getName(); if (name.equals(getName())) { found = true; continue; } if (found) { snap.destory(); } } } if (LIBZFS.zfs_rollback(fs.handle, handle, recursive) != 0) throw new ZFSException(library); return library.open(filesystem); }
/** * Returns {@link #getName() the name}. */ @Override public String toString() { return getName(); }
@Override protected void finalize() throws Throwable { dispose(); super.finalize(); }
public int compareTo(ZFSObject that) { long a = Long.parseLong(this.getZfsProperty(zfs_prop_t.ZFS_PROP_CREATETXG)); long b = Long.parseLong(that.getZfsProperty(zfs_prop_t.ZFS_PROP_CREATETXG)); if (a > b) { return 1; } if (a < b) { return -1; } return 0; }
/** * @deprecated added by typo */ public void destory() { destroy(); }
/** * Creates a nested file system. * * @param props * ZFS properties to be attached to the new file system. Can be null. */ public ZFSFileSystem createFileSystem(final String name, final Map<String, String> props) { return (ZFSFileSystem) library.create(getName()+'/'+name, ZFSType.FILESYSTEM,props); }
public int callback(zfs_handle_t handle, Pointer arg) { r.add(ZFSObject.create(library, handle)); return 0; } }, null);