Score:1

.zfs folder's missing, but snapshots are still there and mountable (inode trouble?)

cn flag
$ sudo zfs list -t snapshot | grep childDataset3

a whole bunch are listed as expected (e.g. pool/dataset/childDataset3@today)

$ ls /pool/dataset/childDataset3/.zfs
ls: cannot access '/pool/dataset/childDataset3/.zfs': No such file or directory

I have other child datasets, and I can see the snapshot dir inside .zfs for them; and, I can even mount a snapshot from the above list from the one troublesome dataset (so they exist, just not as a nice list in a normal spot that users can dip into):

$ sudo mkdir /mnt/tempShadow
$ sudo mount -t zfs pool/dataset/childDataset3@today /mnt/tempShadow

i.e. I can browse one snapshot of files this way; also noteworthy, when I run the disk filesystems command with show inodes, all of the working datasets and child datasets show up EXCEPT for the one I'm having trouble with (what I'm calling "childDataset3"):

$ df -i

pool                               232594013966       9 232594013957    1% /pool
pool/dataset                       232600679652 6665695 232594013957    1% /pool/dataset
pool/dataset/childDataset1         232596006126 1992169 232594013957    1% /pool/dataset/childDataset1
pool/dataset/childDataset2         232594839509  825552 232594013957    1% /pool/dataset/childDataset2
pool/dataset/childDataset4         230211379723 3040916 230208338807    1% /pool/dataset/childDataset4

so is there a way to re-create the child dataset's inode? (forgive me if I'm totally saying that wrong)

using zfs version 0.7.12-2+deb10u2 if that matters

my backup solution is to switch users to the replicated dataset (on another server), and then destroy this dataset, then send a snapshot back (but I want to avoid this, because 32TB doesn't just pop over)

Score:1
ca flag

The .zfs directory is special: try to first chdir into it and then listing it.

In other words: cd /pool/dataset/childDataset3/.zfs/ ; ls

S Hunter Simpson avatar
cn flag
all of my snapshot dirs behave normally except for one
Score:0
cn flag

since it doesn't seem like anyone has an answer (or they do, but just not finding my post), I'll answer my question:

note that albeit new snapshots are being made on this glitched child dataset, and I can at least mount those snapshots (albeit can't browse .zfs/snapshot), when I look through said mount, I now see that new files are not there, and the snapshots are taking up 0B of space

SOLUTION: create a new child dataset, copy the data over (can't use zfs send/recv, so using rsync), destroy the old dataset, rename the new dataset:

sudo zfs create pool/dataset/childDataset3-new
rsync -auAXv --delete /pool/dataset/childDataset3/ /pool/dataset/childDataset3-new/ > logs.txt &
# wait a couple weeks (I'm copying 40TB); re-run the rsync command
sudo zfs destroy -r pool/dataset/childDataset3
sudo zfs rename pool/dataset/childDataset3-new pool/dataset/childDataset3
S Hunter Simpson avatar
cn flag
just fyi, I could destroy the dataset first, then rename the left-behind folder (that shared the same name as the dataset), but better to try to mv a dataset's mount folder first (if it errors about resouce busy, DO NOT proceed with the zfs destroy!)
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.