Can't write data to a new share until reboot

Any time I create an new share I can’t write any data to the share until I reboot. I’ve been trying to read though btrfs documentation and I haven’t read that this is by design I assume a share is a subvolume. I’m using 3.8-2.

Welcome to Rockstor community @jason!

You are right that a Share is a BTRFS subvolume.

When a Share is created, it gets mounted and should be ready for I/O. Not sure exactly what’s causing the problem for you. Can you report back all the steps to reproduce this problem?

This happens in both kvm and vmware workstation I haven’t tried with physical hardware.

  1. Create 8 gig OS drive (I create IDE drives that show up properly in the pool)
  2. Install
  3. update to latest
  4. shutdown
  5. mount data hard drive
  6. boot with updated kernal
  7. create new pool called master
  8. create share called “pictures”
  9. change acl of pictures to admin 755
  10. enable sftp or samba (I haven’t tried nfs)
  11. get error message when I try to upload something to the share

Thanks for detailing the steps.

What’s the error you get when you upload?

Does that happen with both sftp and samba?

What’s the output of mount command on your rockstor box?

Also worth verifying the ownership and permissions on /mnt2/pictures (ls -l /mnt2/pictures)

sftp

cifs

drwxr-xr-x 1 admin admin 0 Jul 11 09:33 pictures

[root@rockstor /]# cd mnt2/pictures/
[root@rockstor pictures]# cp ~/P1030433.JPG .
cp: error writing ‘./P1030433.JPG’: Disk quota exceeded
cp: failed to extend ‘./P1030433.JPG’: Disk quota exceeded

I set a 20 gig volume size when I made the share

Thanks for the information @jason. I’ve tried to reproduce, but couldn’t. I think there’s something else going on. The steps you’ve outlined are pretty basic use case.

Can you provide the output of mount command?

Do you get this problem even if you create another share? Just try writing to it directly instead of samba or sftp, like you’ve done in the last comment.

Do you have a lot of other Shares with data?

There is a quota related bug that I need to fix, but your error doesn’t fit that error.

I figured out how to replicate it, it only happens on the first boot after updating to 3.8-2, and if I enable sftp and try to copy a file though sftp, then the quota seems to break.(If it some how matters I’m using winscp for a client)

[root@rockstor ~]# mount -l
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=1011148k,nr_inodes=252787,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda3 on / type btrfs (rw,relatime,space_cache) [rockstor_rockstor]
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
/dev/sda3 on /home type btrfs (rw,relatime,space_cache) [rockstor_rockstor]
/dev/sda1 on /boot type ext4 (rw,relatime,data=ordered)
/dev/sda3 on /mnt2/rockstor_rockstor type btrfs (rw,relatime,space_cache) [rockstor_rockstor]
/dev/sda3 on /mnt2/home type btrfs (rw,relatime,space_cache) [rockstor_rockstor]
/dev/sda3 on /mnt2/root type btrfs (rw,relatime,space_cache) [rockstor_rockstor]
/dev/sdb on /mnt2/master type btrfs (rw,relatime,space_cache) [master]
/dev/sdb on /mnt2/pictures type btrfs (rw,relatime,space_cache) [master]
/dev/sdb on /mnt3/admin/pictures type btrfs (rw,relatime,space_cache) [master]

[root@rockstor log]# tail -f /var/log/messages
Jul 15 18:26:27 rockstor systemd: Started Session 1 of user admin.
Jul 15 18:26:27 rockstor systemd-logind: New session 1 of user admin.
Jul 15 18:27:06 rockstor systemd: Starting user-0.slice.
Jul 15 18:27:06 rockstor systemd: Created slice user-0.slice.
Jul 15 18:27:06 rockstor systemd: Starting Session 2 of user root.
Jul 15 18:27:06 rockstor systemd: Started Session 2 of user root.
Jul 15 18:27:06 rockstor systemd-logind: New session 2 of user root.
Jul 15 18:28:35 rockstor systemd: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 13971 (df)
Jul 15 18:28:35 rockstor systemd: Mounting Arbitrary Executable File Formats File System…
Jul 15 18:28:35 rockstor systemd: Mounted Arbitrary Executable File Formats File System.

1 Like

@jason Thanks for figuring it out and sharing your feedback.

I’ve tried to reproduce this. But I couldn’t. SFTP worked just fine. I think there are two main differences between my approach and yours.

  1. I updated to 3.8-3(latest) instead of 3.8-2(in your case) after a fresh install. (i don’t think this matters)
  2. I made sure to be on the right kernel(4.1) before provisioning any storage.

Not sure what you mean by first boot, but it could be running 3.10 kernel which we don’t want. If this continues to be a problem please post detail steps to reproduce and we’ll go from there. Also with 3.8-3, if you are running the correct kernel, it will appear in the top right of the screen next to uptime. You can also check with uname -r command and reboot to the right kernel if needed.

It looks like I can’t do it anymore on 3.8-3.

Thanks for all of your time looking into this.

1 Like

@suman - you might add some info on this to the docs?

I was trying to rsync (from the command line) a bunch of data into a newly created share, and got confused about where it was. If the shares always get mounted at /mnt2 (as it is on mine), you might just note that?

Also, just so I understand, why, if my “media” share is mounted at /mnt2/media, does it not show up in the btrfs subvolume list? What is the subvolume structure?

PS - I got confused, because there’s a /media directory that I was trying to copy into. But I guess that’s something else.