Whamcloud - gitweb
forgot pack capa for iocontrol EXT3_IOC_SETFLAGS.
authorlsy <lsy>
Wed, 8 Nov 2006 16:04:33 +0000 (16:04 +0000)
committerlsy <lsy>
Wed, 8 Nov 2006 16:04:33 +0000 (16:04 +0000)
in filter_auth_capa fid might be NULL.

lustre/llite/llite_lib.c
lustre/obdfilter/filter_capa.c

index 9bba794..9b02026 100644 (file)
@@ -1962,10 +1962,12 @@ int ll_iocontrol(struct inode *inode, struct file *file,
                 oinfo.oi_oa->o_flags = flags;
                 oinfo.oi_oa->o_valid = OBD_MD_FLID | OBD_MD_FLFLAGS | 
                                        OBD_MD_FLGROUP;
+                oinfo.oi_capa = ll_mdscapa_get(inode);
 
                 obdo_from_inode(oinfo.oi_oa, inode,
                                 OBD_MD_FLFID | OBD_MD_FLGENER);
                 rc = obd_setattr_rqset(sbi->ll_dt_exp, &oinfo, NULL);
+                capa_put(oinfo.oi_capa);
                 obdo_free(oinfo.oi_oa);
                 if (rc) {
                         if (rc != -EPERM && rc != -EACCES)
index 976b615..0b3e291 100644 (file)
@@ -112,8 +112,12 @@ int filter_auth_capa(struct obd_export *exp, struct lu_fid *fid, __u64 mdsid,
                 RETURN(0);
 
         if (capa == NULL) {
-                CERROR("mdsno/fid/opc "LPU64"/"DFID"/"LPX64": no capa has been "
-                       "passed\n", mdsid, PFID(fid), opc);
+                if (fid)
+                        CERROR("mdsno/fid/opc "LPU64"/"DFID"/"LPX64": "
+                               "no capability has been passed\n",
+                               mdsid, PFID(fid), opc);
+                else
+                        CERROR("no capability has been passed\n");
                 RETURN(-EACCES);
         }