การใช้ระบบไฟล์ btrfs ที่สร้างโดยผู้ใช้ที่มีการติดตั้งแบบวนรอบพร้อมการอนุญาตที่ถูกต้องผู้ใช้สามารถสร้าง bvfs subvolumes ได้อย่างอิสระ:
user@machine:~/btrfs/fs/snapshots$ /sbin/btrfs sub create newsubvol
Create subvolume './newsubvol'
อย่างไรก็ตามการพยายามลบผลลัพธ์ย่อยที่สร้างขึ้นใหม่มีข้อผิดพลาด:
user@machine:~/btrfs/fs/snapshots$ /sbin/btrfs sub del newsubvol
Delete subvolume '/home/user/btrfs/fs/snapshots/newsubvol'
ERROR: cannot delete '/home/user/btrfs/fs/snapshots/newsubvol'
แน่นอนว่าผู้ใช้รูทสามารถลบได้:
root@machine:/home/user/btrfs/fs/snapshots# /sbin/btrfs sub del newsubvol
Delete subvolume '/home/user/btrfs/fs/snapshots/newsubvol'
พฤติกรรมที่แตกต่างระหว่างการดำเนินการสร้างและลบนี้ดูแปลกไปหน่อย มีใครบ้างไหมที่ให้แสงนี้?
นี่คือลำดับของคำสั่งที่แน่นอน:
user@machine:~$ dd if=/dev/zero of=btrfs_disk bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 1.2345 s, 84.9 MB/s
user@machine:~$ mkdir mountpoint
user@machine:~$ /sbin/mkfs.btrfs btrfs_disk
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
SMALL VOLUME: forcing mixed metadata/data groups
Created a data/metadata chunk of size 8388608
fs created label (null) on btrfs_disk
nodesize 4096 leafsize 4096 sectorsize 4096 size 100.00MB
Btrfs Btrfs v0.19
user@machine:~$ sudo mount btrfs_disk mountpoint/
user@machine:~$ cd mountpoint/
user@machine:~/mountpoint$ /sbin/btrfs sub create test
Create subvolume './test'
user@machine:~/mountpoint$ /sbin/btrfs sub delete test
Delete subvolume '/home/user/mountpoint/test'
ERROR: cannot delete '/home/user/mountpoint/test' - Operation not permitted
นี่คือการอนุญาต:
user@machine:~/mountpoint$ ls -la
total 4
drwxr-xr-x 1 user user 8 Set 4 09:30 .
drwx------ 1 user user 4486 Set 4 09:29 ..
drwx------ 1 user user 0 Set 4 09:38 test
และสายที่เกี่ยวข้องกับdf -T
:
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/loop0 btrfs 102400 32 98284 1% /home/user/mountpoint
Distro เป็น Debian Wheezy, 3.2.0-4-686-pae
kernel, v0.19
btrfs-tools สถานการณ์ยังคงเกิดขึ้นกับ Ubuntu Saucy, 3.11.0-4-generic
เคอร์เนล, v0.20-rc1
เครื่องมือ btrfs
df -T
และbtrfs version
? เมื่อฉันลองแบบเดียวกันฉันได้รับข้อความแสดงข้อผิดพลาด "ข้อผิดพลาด: ไม่สามารถสร้างหัวข้อย่อย - การอนุญาตถูกปฏิเสธ"