Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
LU-1247 obdfilter: fix invalid check of precrate objects
[fs/lustre-release.git]
/
lustre
/
obdfilter
/
filter.c
diff --git
a/lustre/obdfilter/filter.c
b/lustre/obdfilter/filter.c
index
ab8896f
..
75fd01b
100644
(file)
--- a/
lustre/obdfilter/filter.c
+++ b/
lustre/obdfilter/filter.c
@@
-1969,6
+1969,7
@@
int filter_common_setup(struct obd_device *obd, struct lustre_cfg* lcfg,
{
struct filter_obd *filter = &obd->u.filter;
struct vfsmount *mnt;
+ struct file_system_type *type;
struct lustre_mount_info *lmi;
struct obd_uuid uuid;
__u8 *uuid_ptr;
@@
-1993,9
+1994,14
@@
int filter_common_setup(struct obd_device *obd, struct lustre_cfg* lcfg,
} else {
/* old path - used by lctl */
CERROR("Using old MDS mount method\n");
- mnt = ll_kern_mount(lustre_cfg_string(lcfg, 2),
- MS_NOATIME|MS_NODIRATIME,
- lustre_cfg_string(lcfg, 1), option);
+ type = get_fs_type(lustre_cfg_string(lcfg, 2));
+ if (!type) {
+ CERROR("get_fs_type failed\n");
+ RETURN(-ENODEV);
+ }
+ mnt = vfs_kern_mount(type, MS_NOATIME|MS_NODIRATIME,
+ lustre_cfg_string(lcfg, 1), option);
+ cfs_module_put(type->owner);
if (IS_ERR(mnt)) {
rc = PTR_ERR(mnt);
LCONSOLE_ERROR_MSG(0x135, "Can't mount disk %s (%d)\n",
@@
-3674,7
+3680,7
@@
static int filter_handle_precreate(struct obd_export *exp, struct obdo *oa,
CDEBUG(D_HA, "filter_last_id() = "LPU64" -> diff = %d\n",
last, diff);
- if (-diff >
OST_MAX_PRECREATE
) {
+ if (-diff >
(OST_MAX_PRECREATE * 3) / 2
) {
CERROR("%s: ignoring bogus orphan destroy request: "
"obdid "LPU64" last_id "LPU64"\n", obd->obd_name,
oa->o_id, last);
@@
-4763,7
+4769,6
@@
static struct obd_ops filter_obd_ops = {
.o_create = filter_create,
.o_setattr = filter_setattr,
.o_destroy = filter_destroy,
- .o_brw = filter_brw,
.o_punch = filter_truncate,
.o_sync = filter_sync,
.o_preprw = filter_preprw,