On Wed, May 7, 2008 at 5:50 PM, Amit Singh <[EMAIL PROTECTED]> wrote: > > If you look at the man pages for getxattr() and setxattr(), you'll see > a non-standard "position" argument. This argument is meant for > optional use when accessing resource forks as xattrs. The Finder > insists on using the position argument--it splits resource fork I/O > into 128K chunks. MacFUSE can handle much larger chunks, but that > doesn't help here. > > The current release of MacFUSE does not support the position argument. > > I've added support for this in the source tree. Ted will hopefully > soon extend the Objective-C API to handle position. Everything should > be in the next MacFUSE release.
I've modified the Objective-C API to support the position argument for setExtendedAttribute and valueOfExtendedAttribute. The new versions that your delegate should implement look like: - (NSData *)valueOfExtendedAttribute:(NSString *)name ofItemAtPath:(NSString *)path position:(off_t)position error:(NSError **)error; - (BOOL)setExtendedAttribute:(NSString *)name ofItemAtPath:(NSString *)path value:(NSData *)value position:(off_t)position options:(int)options error:(NSError **)error; Please also note the argument name change from flags to options. GMUserFileSystem will prefer these new selectors if your delegate implements them. Otherwise it will call the old selector for now. Eventually I'll probably remove support for the calling the deprecated selectors. I've also updated LoopbackFS and confirmed that I can copy in a file with a ResourceFork that is larger than 128K. You can look at the head of the source tree to see the updated API and how it is used. ted > > Amit > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "macfuse-devel" group. To post to this group, send email to macfuse-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/macfuse-devel?hl=en -~----------~----~----~----~------~----~------~--~---