X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_io.c;h=bbdf111e6e829708c497a5d179d8c95a6f27fe29;hb=669a3520af853a65164d220dd0ada9e6fad6bf9d;hp=1e4e9154592c3381dc0fb08926be286533e75b91;hpb=14d162c5438de959d0ea01fb1b40a7c5dfa764d1;p=fs%2Flustre-release.git diff --git a/lustre/osd-ldiskfs/osd_io.c b/lustre/osd-ldiskfs/osd_io.c index 1e4e915..bbdf111 100644 --- a/lustre/osd-ldiskfs/osd_io.c +++ b/lustre/osd-ldiskfs/osd_io.c @@ -819,7 +819,7 @@ int osd_ldiskfs_map_bm_inode_pages(struct inode *inode, struct page **page, static int osd_ldiskfs_map_inode_pages(struct inode *inode, struct page **page, int pages, unsigned long *blocks, - int create, struct mutex *optional_mutex) + int create) { int rc; @@ -828,11 +828,7 @@ static int osd_ldiskfs_map_inode_pages(struct inode *inode, struct page **page, blocks, create); return rc; } - if (optional_mutex != NULL) - mutex_lock(optional_mutex); rc = osd_ldiskfs_map_bm_inode_pages(inode, page, pages, blocks, create); - if (optional_mutex != NULL) - mutex_unlock(optional_mutex); return rc; } @@ -907,8 +903,7 @@ static int osd_write_prep(const struct lu_env *env, struct dt_object *dt, if (iobuf->dr_npages) { rc = osd_ldiskfs_map_inode_pages(inode, iobuf->dr_pages, iobuf->dr_npages, - iobuf->dr_blocks, - 0, NULL); + iobuf->dr_blocks, 0); if (likely(rc == 0)) { rc = osd_do_bio(osd, inode, iobuf); /* do IO stats for preparation reads */ @@ -1036,7 +1031,7 @@ static int osd_declare_write_commit(const struct lu_env *env, /* make sure the over quota flags were not set */ lnb[0].flags &= ~(OBD_BRW_OVER_USRQUOTA | OBD_BRW_OVER_GRPQUOTA); - rc = osd_declare_inode_qid(env, inode->i_uid, inode->i_gid, + rc = osd_declare_inode_qid(env, i_uid_read(inode), i_gid_read(inode), quota_space, oh, true, true, &flags, ignore_quota); @@ -1111,8 +1106,7 @@ static int osd_write_commit(const struct lu_env *env, struct dt_object *dt, } else if (iobuf->dr_npages > 0) { rc = osd_ldiskfs_map_inode_pages(inode, iobuf->dr_pages, iobuf->dr_npages, - iobuf->dr_blocks, - 1, NULL); + iobuf->dr_blocks, 1); } else { /* no pages to write, no transno is needed */ thandle->th_local = 1; @@ -1201,8 +1195,7 @@ static int osd_read_prep(const struct lu_env *env, struct dt_object *dt, if (iobuf->dr_npages) { rc = osd_ldiskfs_map_inode_pages(inode, iobuf->dr_pages, iobuf->dr_npages, - iobuf->dr_blocks, - 0, NULL); + iobuf->dr_blocks, 0); rc = osd_do_bio(osd, inode, iobuf); /* IO stats will be done in osd_bufs_put() */ @@ -1446,8 +1439,9 @@ out: * as llog or last_rcvd files. We needn't enforce quota on those * objects, so always set the lqi_space as 0. */ if (inode != NULL) - rc = osd_declare_inode_qid(env, inode->i_uid, inode->i_gid, - 0, oh, true, true, NULL, false); + rc = osd_declare_inode_qid(env, i_uid_read(inode), + i_gid_read(inode), 0, oh, true, + true, NULL, false); RETURN(rc); } @@ -1611,8 +1605,8 @@ static int osd_declare_punch(const struct lu_env *env, struct dt_object *dt, inode = osd_dt_obj(dt)->oo_inode; LASSERT(inode); - rc = osd_declare_inode_qid(env, inode->i_uid, inode->i_gid, 0, oh, - true, true, NULL, false); + rc = osd_declare_inode_qid(env, i_uid_read(inode), i_gid_read(inode), + 0, oh, true, true, NULL, false); RETURN(rc); }