Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XrdCks does not use XrdOss #140

Closed
apeters1971 opened this issue Sep 12, 2014 · 4 comments
Closed

XrdCks does not use XrdOss #140

apeters1971 opened this issue Sep 12, 2014 · 4 comments
Assignees

Comments

@apeters1971
Copy link
Contributor

It is very unfortunate that the preconfigured checksum plugin uses POSIX calls to scan files and to get/set attributes to store the checksum.

If XrdCksManager would use XrdOss functions one would get checksumming automatically supported for any XrdOss implementation. Can this be changed?

@abh3
Copy link
Member

abh3 commented Sep 12, 2014

The problem that we have here is that your request requires an ABI change that it is generally anathema for EPEL and we have to abide by EPEL rules. Why is it that you cannot use the plugin architecture for check sums to get around this problem? Your should just substitute the checksum manager witch your own plugin even if it makes use of the existing check sum packages.

@apeters1971
Copy link
Contributor Author

"just substitute" ... I can, but I have to rewrite/duplicate the whole logic for each checksum flavour I want.

XrdCks should be the plugin for the algorithm, while XrdOss is the plugin for the low-level IO ... so I think it makes a lot of sense. Maybe there is a way to get the Oss object into the Cks object without modification of the public API ?!?!?

@abh3 abh3 self-assigned this Sep 14, 2014
@abh3
Copy link
Member

abh3 commented Sep 14, 2014

This is largely the fallout of needing to use the class in various contexts, some of which do not have an oss present. One solution is to change XrdCks and pass it the oss class so that it would use it. Of course, adding an additional constructor may be considered an ABI change (need to explore that). Of course, there are non-OO ways around that. That said, this is just one of the problems since Cks also uses the Fattr classes to get and set extended attributes. These also do not use the oss. Of course, the brute force solution is to simply over-ride CksManager with your own plugin if direct POSIX calls are an issue. Let's talk about this the week of the 22nd or earlier.

@abh3
Copy link
Member

abh3 commented Nov 13, 2014

We have a solution on the way.

@abh3 abh3 closed this as completed in 244e662 Nov 14, 2014
abh3 added a commit that referenced this issue Nov 14, 2014
in Xrdos, XrdFrm, and XrdFileCache packages.
Add new options to the ofs.osslib and ofs.xattrlib directives to
allow usage of the oss plugin for I/O related functions;
this fixes #140
alja pushed a commit to alja/xrootd that referenced this issue Nov 14, 2014
in Xrdos, XrdFrm, and XrdFileCache packages.
Add new options to the ofs.osslib and ofs.xattrlib directives to
allow usage of the oss plugin for I/O related functions;
this fixes xrootd#140
Remove outdated references to the old client in XrdFileCache.
alja pushed a commit to alja/xrootd that referenced this issue Nov 14, 2014
in Xrdos, XrdFrm, and XrdFileCache packages.
Add new options to the ofs.osslib and ofs.xattrlib directives to
allow usage of the oss plugin for I/O related functions;
this fixes xrootd#140
sponce pushed a commit to sponce/xrootd that referenced this issue Jan 19, 2015
in Xrdos, XrdFrm, and XrdFileCache packages.
Add new options to the ofs.osslib and ofs.xattrlib directives to
allow usage of the oss plugin for I/O related functions;
this fixes xrootd#140
Remove outdated references to the old client in XrdFileCache.
sponce pushed a commit to sponce/xrootd that referenced this issue Jan 19, 2015
in Xrdos, XrdFrm, and XrdFileCache packages.
Add new options to the ofs.osslib and ofs.xattrlib directives to
allow usage of the oss plugin for I/O related functions;
this fixes xrootd#140
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants