Comments (3)
It was just as you said. Thanks for finding and reporting bugs. The fix is just to replace the "lstat(…)" with some of our new-fangled C++ goodness. Done.
from pftool.
Jeff,
Just a minor point - in my experience, the term "bug" implies something
that does not work or is the wrong logic in a piece of code. Prior to
the creation of the new Marfs requirements placed on PFTOOL, the use of
lstat() was perfectly OK. Perhaps it would be better to say "finding
additional places to change, so that PFTOOL works with the new
requirements...".
David
On 11/3/15 4:10 PM, Jeff Inman wrote:
It was just as you said. Thanks for finding and reporting bugs. The
fix is just to replace the "lstat(…)" with some of our new-fangled C++
goodness. Done.—
Reply to this email directly or view it on GitHub
#3 (comment).
from pftool.
Good point, David.
I agree with you. I think what happens is that users of the new code (in the 'cpp' branch) will just see bad behavior as a "bug" in pftool, which it is, though in many cases it is really a bug in my implementation of extensions/replacements, on top of old pftool.
I am concerned about any bugs I may have introduced into legacy behavior, if/when we merge the new branch into the master. I have left large swaths of the old code commented out, next to the replacements in the new idiom, in hopes that it may help you/me/us find such bugs in the future. The point of leaving the comments in is to help you and me to make the transition as smoothly as possible.
I appreciate your patience with having the ground changed under your feet, and I'm hoping you'll eventually look at the new approach and agree that it makes the whole thing more legible and flexible, at the cost of some transitional bugs, like this one, and some abstraction. (Just imagine the additional contortions of #ifdefs that would have been required to add build-time options for non-POSIX protocols like S3/MarFS, without the new approach. That was the motivation for the new approach.)
Thanks,
Jeff
On Nov 5, 2015, at 9:57 AM, David Sherrill [email protected] wrote:
Jeff,
Just a minor point - in my experience, the term "bug" implies something
that does not work or is the wrong logic in a piece of code. Prior to
the creation of the new Marfs requirements placed on PFTOOL, the use of
lstat() was perfectly OK. Perhaps it would be better to say "finding
additional places to change, so that PFTOOL works with the new
requirements...".David
On 11/3/15 4:10 PM, Jeff Inman wrote:
It was just as you said. Thanks for finding and reporting bugs. The
fix is just to replace the "lstat(…)" with some of our new-fangled C++
goodness. Done.—
Reply to this email directly or view it on GitHub
#3 (comment).—
Reply to this email directly or view it on GitHub.
from pftool.
Related Issues (20)
- Change python shebang to use system python in python wrappers via autotools
- Replace optparse with argparse HOT 1
- Refactor error checking for config file
- Remove references to threading in README
- Remove all code related to threaded vs not threaded in python wrappers HOT 1
- Unable to use pfrsync HOT 1
- Pftool writes fail into the root of a MarFS repository - HOT 5
- Pftool will not build HOT 3
- avoid touching destinations until doing actual work on them HOT 3
- coordinate logging cmd-line parameters and function implementations HOT 1
- missing config NS results in obscure "failed to stat path" HOT 2
- restart after SIGINT occasionally gets rename failures on individual chunk-files HOT 1
- changes to CTF for temp-files need to be made to CTA, as well
- pfcp shouldn't try to create temp-files on /dev/null HOT 1
- fatal error: openssl/md2.h: No such file or directory HOT 1
- Unable to build pftool without MarFS - HOT 1
- Pftool fails to build as a subdirectory of marfs HOT 2
- After using disable-marfs with configure not able to make HOT 4
- While running any command of pftool getting segmentation fault HOT 13
- upgrade python wrappers to be complatible with python3 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pftool.