/[fuse.before_github]/perl-llin/Fuse.xs
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /perl-llin/Fuse.xs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 21 by dpavlin, Mon Jan 2 19:50:33 2006 UTC revision 71 by dpavlin, Tue Jan 3 17:27:32 2006 UTC
# Line 541  int _PLfuse_write (const char *file, con Line 541  int _PLfuse_write (const char *file, con
541          return rv;          return rv;
542  }  }
543    
544  int _PLfuse_statfs (const char *file, struct statfs *st) {  /* FIXME check for old fuse API (< 21?) and use statfs here */
545    #ifdef __FreeBSD__
546     #define _fuse_statvfs statfs
547    #else
548     #define _fuse_statvfs statvfs
549    #endif
550    int _PLfuse_statfs (const char *file, struct _fuse_statvfs *st) {
551    
552          int rv;          int rv;
553          char *rvstr;          char *rvstr;
554          FUSE_CONTEXT_PRE;          FUSE_CONTEXT_PRE;
# Line 553  int _PLfuse_statfs (const char *file, st Line 560  int _PLfuse_statfs (const char *file, st
560          PUTBACK;          PUTBACK;
561          rv = call_sv(_PLfuse_callbacks[17],G_ARRAY);          rv = call_sv(_PLfuse_callbacks[17],G_ARRAY);
562          SPAGAIN;          SPAGAIN;
563          if(rv > 5) {          DEBUGf("statfs got %i params\n",rv);
564                  st->f_bsize    = POPi;          if(rv == 6 || rv == 7) {
565                  st->f_bfree    = POPi;                  st->f_bsize     = POPi;
566                  st->f_blocks   = POPi;                  st->f_bfree     = POPi;
567                  st->f_ffree    = POPi;                  st->f_blocks    = POPi;
568                  st->f_files    = POPi;                  st->f_ffree     = POPi;
569                  st->f_namelen  = POPi;                  st->f_files     = POPi;
570                  if(rv > 6)                  st->f_namemax   = POPi;
571    #ifndef __FreeBSD__
572                    /* zero and fill-in other */
573                    st->f_fsid = 0;
574                    st->f_frsize = 4096;
575                    st->f_flag = 0;
576                    st->f_bavail = st->f_bfree;
577                    st->f_favail = st->f_ffree;
578    #endif
579    
580                    if(rv == 7)
581                          rv = POPi;                          rv = POPi;
582                  else                  else
583                          rv = 0;                          rv = 0;

Legend:
Removed from v.21  
changed lines
  Added in v.71

  ViewVC Help
Powered by ViewVC 1.1.26