That is correct I am on 151020 just moved up from LTS for this feature. Just to be clear about one thing.
If you run this on a regular directory in the LX zone there is no issue. It only takes place if the directory being read is from the LOFS mount of a ZFS dataset. My mount has a property of read only. I did not try without the readonly option. That would be awesome if there is already a fix. This feature is pretty amazing! On Mon, Jan 16, 2017 at 3:24 PM Dan McDonald <dan...@omniti.com> wrote: > Thank you. I've discussed with Joyent, and they couldn't reproduce it. > They have a fix we don't, so between that and whether or not it's fixed on > bloody (you're on r151020, right mini?), I'll have to try it myself. It's > possible the Joyent fix (outside LX, not yet upstreamed) may cure what ails > you. > > FYI, > Dan > > Sent from my iPhone (typos, autocorrect, and all) > > On Jan 16, 2017, at 1:02 PM, Mini Trader <miniflowtra...@gmail.com> wrote: > > 1. Does not happen on native. > 2. My non-global zones are under /tank/zones/ > 3. It uses python - but the calls are all stdlib calls, no magic they are > going directly to C. You can reproduce with same calls on C the system > will eventually return ENOENT/ERRNO=2. > 4. Looks to be LX specific. I also tested in global zone with LOFS. No > issue. > > Thanks! > > On Mon, Jan 16, 2017 at 12:13 PM, Dan McDonald <dan...@omniti.com> wrote: > > Thank you for doing this! Some questions in-line: > > > > > > > On Jan 16, 2017, at 10:40 AM, Mini Trader <miniflowtra...@gmail.com> > wrote: > > > > > > > > I spent a bit of time yesterday using dtrace and looking at the source. > I believe I found why the system is falsely reporting that the current > directory does not exist and have created a simple program to reproduce the > problem. The problem seems to be related to when v_path in the vnode > struct goes above a certain number of characters. This will only break on > LOFS if inside the LX zone. Every time a program performs a chdir('..') > and up to another dir the system stored working directory is falsely > growing. > > > > > > Have you tried this on a native zone (just to make sure) as well? > > > > > > > Here are the steps to reproduce. > > > > > > > > 1. Mount a ZFS dataset via LOFS for your LX zone. > > > > 2. Create a directory in the dataset called test > > > > 3. In the test directory create another directory called 'Chdir Test' > > > > > > Does it matter where (global zone, inside LX zone) these directories gets > created? > > > > > > > 4. Run the program below. All this is doing is going up a directory and > dropping down a directory. We want to fill up v_path. > > > > > > Python... > > > > > > > 5. The program will bomb before iteration 1000. Really there should be > no limit. > > > > > > > > import os > > > > import time > > > > > > > > #time.sleep(15) > > > > os.chdir('/tank/bigtest/test') > > > > for i in xrange(1000): > > > > print i > > > > os.chdir('Chdir Test') > > > > os.getcwd() > > > > os.chdir('..') > > > > > > > > I used the following dtrace to get insight into what was happening (ran > it from global zone). > > > > > > > > dtrace -n 'fbt:genunix:vnodetopath_common:entry /pid == $target/ { > printf("%s\n",stringof(args[1]->v_path)) }' -q -x strsize=4k -p 22482 > > > > > > > > Uncomment the sleep line so that you can determine the PID when running > dtrace. > > > > > > I'm forwarding this note on to Joyent, so they can see what's going on. I > think this may be an LX bug, but I'm not sure. > > > > > > Thanks, > > > Dan > > > > > > > > >
_______________________________________________ OmniOS-discuss mailing list OmniOS-discuss@lists.omniti.com http://lists.omniti.com/mailman/listinfo/omnios-discuss