Changeset 567

Show
Ignore:
Timestamp:
03/08/07 17:31:54 (2 years ago)
Author:
hollow
Message:

force copy if tagxid disabled

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/vcd/methods/vx/vx_create.c

    r566 r567  
    238238        vdirfd = open_read("."); 
    239239 
    240         struct stat vdirsb, tdirsb; 
    241  
    242         if (fstat(vdirfd, &vdirsb) == -1) 
    243                 method_return_sys_fault(env, "fstat"); 
    244  
     240        /* check if tagxid option is enabled */ 
     241        ix_attr_t attr; 
     242 
     243        if (ix_attr_get(".", &attr) == -1) 
     244                method_return_sys_fault(env, "ix_attr_get"); 
     245 
     246        if (!(attr.mask & IATTR_TAG)) 
     247                copy = 1; 
     248 
     249        /* check template dir */ 
    245250        chdir(tdir); 
    246251 
    247         if (lstat(".", &tdirsb) == -1) 
    248                 method_return_sys_fault(env, "lstat"); 
    249  
    250         if (vdirsb.st_dev != tdirsb.st_dev) 
    251                 copy = 1; 
     252        if (!copy) { 
     253                struct stat vdirsb, tdirsb; 
     254 
     255                if (fstat(vdirfd, &vdirsb) == -1) 
     256                        method_return_sys_fault(env, "fstat"); 
     257 
     258                if (lstat(".", &tdirsb) == -1) 
     259                        method_return_sys_fault(env, "lstat"); 
     260 
     261                /* check if we have different mount points */ 
     262                if (vdirsb.st_dev != tdirsb.st_dev) 
     263                        copy = 1; 
     264        } 
    252265 
    253266        global_env = env;