Whamcloud - gitweb
Revert "LU-8856 osd: mark specific transactions netfree" 42/31442/2
authorOleg Drokin <oleg.drokin@intel.com>
Tue, 27 Feb 2018 18:27:40 +0000 (18:27 +0000)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 27 Feb 2018 18:27:51 +0000 (18:27 +0000)
This patch caused very frequent sanity-lfsck 9a failures
reported in LU-10732

This reverts commit 8d1639b5cf1edbc885876956dcd6189173c00955.

Change-Id: Ibf353042d2d37d37eccbf3895453f51ca07ea6d3
Reviewed-on: https://review.whamcloud.com/31442
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
config/lustre-build-zfs.m4
lustre/osd-zfs/osd_handler.c
lustre/osd-zfs/osd_internal.h
lustre/osd-zfs/osd_io.c
lustre/osd-zfs/osd_object.c
lustre/tests/sanity.sh
lustre/utils/libmount_utils_zfs.c

index 6debc60..07f00dc 100644 (file)
@@ -655,19 +655,6 @@ your distribution.
                        AC_DEFINE(HAVE_DMU_OBJSET_DISOWN_3ARG, 1,
                                [Have dmu_objset_disown() with 3 args])
                ])
-               dnl #
-               dnl # ZFS 0.7.2 adds new method dmu_tx_mark_netfree
-               dnl #
-               LB_CHECK_COMPILE([if ZFS has 'dmu_tx_mark_netfree'],
-               dmu_tx_mark_netfree, [
-                       #include <sys/dmu.h>
-               ],[
-                       dmu_tx_t *tx = NULL;
-                       dmu_tx_mark_netfree(tx);
-               ],[
-                       AC_DEFINE(HAVE_DMU_TX_MARK_NETFREE, 1,
-                               [Have dmu_tx_mark_netfree])
-               ])
        ])
 
        AS_IF([test "x$enable_zfs" = xyes], [
index 23d684c..e2e9d31 100644 (file)
@@ -977,7 +977,6 @@ int osd_unlinked_object_free(const struct lu_env *env, struct osd_device *osd,
        }
 
        tx = dmu_tx_create(osd->od_os);
-       dmu_tx_mark_netfree(tx);
        dmu_tx_hold_free(tx, oid, 0, DMU_OBJECT_END);
        osd_tx_hold_zap(tx, osd->od_unlinked->dn_object, osd->od_unlinked,
                        FALSE, NULL);
index 30beef8..5d423cc 100644 (file)
@@ -1086,8 +1086,4 @@ osd_index_backup(const struct lu_env *env, struct osd_device *osd, bool backup)
                            &osd->od_index_backup_stop, backup);
 }
 
-#ifndef HAVE_DMU_TX_MARK_NETFREE
-#define dmu_tx_mark_netfree(tx)
-#endif
-
 #endif /* _OSD_INTERNAL_H */
index d6a8d1f..ecbe5fe 100644 (file)
@@ -1010,7 +1010,6 @@ static int osd_declare_punch(const struct lu_env *env, struct dt_object *dt,
        /* declare we'll free some blocks ... */
        if (start < obj->oo_attr.la_size) {
                read_unlock(&obj->oo_attr_lock);
-               dmu_tx_mark_netfree(oh->ot_tx);
                dmu_tx_hold_free(oh->ot_tx, obj->oo_dn->dn_object, start, len);
        } else {
                read_unlock(&obj->oo_attr_lock);
index 62f7a83..c835e92 100644 (file)
@@ -762,8 +762,6 @@ static int osd_declare_destroy(const struct lu_env *env, struct dt_object *dt,
        oh = container_of0(th, struct osd_thandle, ot_super);
        LASSERT(oh->ot_tx != NULL);
 
-       dmu_tx_mark_netfree(oh->ot_tx);
-
        /* declare that we'll remove object from fid-dnode mapping */
        zapid = osd_get_name_n_idx(env, osd, fid, NULL, 0, &dn);
        osd_tx_hold_zap(oh->ot_tx, zapid, dn, FALSE, NULL);
index 035014e..bda8d83 100755 (executable)
@@ -18325,52 +18325,6 @@ test_804() {
 }
 run_test 804 "verify agent entry for remote entry"
 
-cleanup_805() {
-       do_facet $SINGLEMDS zfs set quota=$old $fsset
-       unlinkmany $DIR/$tdir/f- 1000000
-       trap 0
-}
-
-test_805() {
-       local zfs_version=$(do_node $SINGLEMDS cat /sys/module/zfs/version)
-       [ "$(facet_fstype mds1)" != "zfs" ] &&
-               skip "ZFS specific test" && return
-       [ $(version_code $zfs_version) -lt $(version_code 0.7.2) ] &&
-               skip "netfree not implemented before 0.7" && return
-       [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.10.57) ]] ||
-               { skip "Need MDS version at least 2.10.57" && return 0; }
-
-       local fsset
-       local freekb
-       local usedkb
-       local old
-       local quota
-       local pref="osd-zfs.lustre-MDT0000."
-
-       # limit available space on MDS dataset to meet nospace issue
-       # quickly. then ZFS 0.7.2 can use reserved space if asked
-       # properly (using netfree flag in osd_declare_destroy()
-       fsset=$(do_facet $SINGLEMDS lctl get_param -n $pref.mntdev)
-       old=$(do_facet $SINGLEMDS zfs get -H quota $fsset | \
-               gawk '{print $3}')
-       freekb=$(do_facet $SINGLEMDS lctl get_param -n $pref.kbytesfree)
-       usedkb=$(do_facet $SINGLEMDS lctl get_param -n $pref.kbytestotal)
-       let "usedkb=usedkb-freekb"
-       let "freekb=freekb/2"
-       if let "freekb > 5000"; then
-               let "freekb=5000"
-       fi
-       do_facet $SINGLEMDS zfs set quota=$(((usedkb+freekb)*1024)) $fsset
-       trap cleanup_805 EXIT
-       mkdir $DIR/$tdir
-       $LFS setstripe -E 1M -L mdt $DIR/$tdir || error "DoM not working"
-       createmany -m $DIR/$tdir/f- 1000000 && error "ENOSPC wasn't met"
-       rm -rf $DIR/$tdir || error "not able to remove"
-       do_facet $SINGLEMDS zfs set quota=$old $fsset
-       trap 0
-}
-run_test 805 "ZFS can remove from full fs"
-
 #
 # tests that do cleanup/setup should be run at the end
 #
index 148260c..04b1d61 100644 (file)
@@ -543,9 +543,6 @@ static char *zfs_mkfs_opts(struct mkfs_opts *mop, char *str, int len)
 
        if (strlen(mop->mo_mkfsopts) != 0)
                snprintf(str, len, " -o %s", mop->mo_mkfsopts);
-       if (mop->mo_device_kb)
-               snprintf(str, len, " -o quota=%llu",
-                        mop->mo_device_kb * 1024);
 
        return str;
 }