Bug 221188 - zfs: bin/chmod/chmod_test:v_flag fails on ZFS, not UFS (ZFS updates mode for files unnecessarily)
Summary: zfs: bin/chmod/chmod_test:v_flag fails on ZFS, not UFS (ZFS updates mode for ...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-fs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-02 20:54 UTC by Enji Cooper
Modified: 2017-08-21 17:21 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Enji Cooper freebsd_committer freebsd_triage 2017-08-02 20:54:32 UTC
For some odd reason it's updating the mode for foo unnecessarily on my ZFS-based $TMPDIR:

$ sudo kyua debug -k /usr/tests/Kyuafile bin/chmod/chmod_test:v_flag                                                                                                          
Executing command [ truncate -s 0 foo bar ]
Executing command [ chmod 0600 foo ]
Executing command [ chmod 0750 bar ]
Executing command [ chmod -v 0600 foo bar ]
Fail: stdout does not match expected value
--- /tmp/kyua.1j9TcJ/2/work/atf-check.LpX8Mt    2017-08-02 19:51:34.153045000 +0000
+++ /tmp/kyua.1j9TcJ/2/work/check.p4eLMg/stdout 2017-08-02 19:51:34.152545000 +0000
@@ -1 +1,2 @@
+foo
 bar
Files left in work directory after failure: bar, foo
$ df /tmp/
Filesystem 1K-blocks  Used     Avail Capacity  Mounted on
root/tmp   116719335 37599 116681736     0%    /tmp
$ zfs get atime root/tmp                                                                                                                                                      
NAME      PROPERTY  VALUE  SOURCE
root/tmp  atime     on     default
$ mount -p | grep root/tmp                                                                                                                                                    
root/tmp                /tmp                    zfs     rw,nfsv4acls    0 0
Comment 1 commit-hook freebsd_committer freebsd_triage 2017-08-02 21:19:24 UTC
A commit references this bug:

Author: ngie
Date: Wed Aug  2 21:18:55 UTC 2017
New revision: 321949
URL: https://svnweb.freebsd.org/changeset/base/321949

Log:
  Add expected failures for ZFS

  - :f_flag fails on ZFS because UF_IMMUTABLE isn't supported [1].
  - :v_flag fails on ZFS because the mode for foo is [always] updated
    unnecessarily.

  get_filesystem(..) (supporting function that was added to the test script)
  is based on equivalent logic in usr.bin/extattr/tests/extattr_test.sh .

  MFC after:	1 week
  PR:	221189 [1], 221188 [2]

Changes:
  head/bin/chmod/tests/chmod_test.sh
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-08-02 21:21:29 UTC
A commit references this bug:

Author: ngie
Date: Wed Aug  2 21:20:50 UTC 2017
New revision: 321950
URL: https://svnweb.freebsd.org/changeset/base/321950

Log:
  Always use first parameter passed to get_filesystem(..) instead of discarding it
  and using `.` instead.

  MFC after:	1 week
  MFC with:	r321949
  PR:	221189 [1], 221188 [2]

Changes:
  head/bin/chmod/tests/chmod_test.sh
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2017-08-03 05:12:22 UTC
over to committer.
Comment 4 Enji Cooper freebsd_committer freebsd_triage 2017-08-03 05:22:34 UTC
Still a ZFS bug. I just added a hack to bypass the issue in the tests.
Comment 5 commit-hook freebsd_committer freebsd_triage 2017-08-19 01:22:08 UTC
A commit references this bug:

Author: ngie
Date: Sat Aug 19 01:21:46 UTC 2017
New revision: 322685
URL: https://svnweb.freebsd.org/changeset/base/322685

Log:
  MFC r321949,r321950,r322101:

  r321949:

  Add expected failures for ZFS

  - :f_flag fails on ZFS because UF_IMMUTABLE isn't supported [1].
  - :v_flag fails on ZFS because the mode for foo is [always] updated
    unnecessarily.

  get_filesystem(..) (supporting function that was added to the test script)
  is based on equivalent logic in usr.bin/extattr/tests/extattr_test.sh .

  PR:	221189 [1], 221188 [2]

  r321950:

  Always use first parameter passed to get_filesystem(..) instead of discarding it
  and using `.` instead.

  MFC with:	r321949
  PR:	221189 [1], 221188 [2]

  r322101:

  Don't check result of chflags in f_flag_cleanup()

  This will prevent false positives from occurring if the test is run on
  ZFS since ZFS doesn't support fflags throbbing like UFS.

  PR:	221189
  MFC with:	r321949

Changes:
_U  stable/11/
  stable/11/bin/chmod/tests/chmod_test.sh
Comment 6 commit-hook freebsd_committer freebsd_triage 2017-08-19 01:22:12 UTC
A commit references this bug:

Author: ngie
Date: Sat Aug 19 01:21:47 UTC 2017
New revision: 322685
URL: https://svnweb.freebsd.org/changeset/base/322685

Log:
  MFC r321949,r321950,r322101:

  r321949:

  Add expected failures for ZFS

  - :f_flag fails on ZFS because UF_IMMUTABLE isn't supported [1].
  - :v_flag fails on ZFS because the mode for foo is [always] updated
    unnecessarily.

  get_filesystem(..) (supporting function that was added to the test script)
  is based on equivalent logic in usr.bin/extattr/tests/extattr_test.sh .

  PR:	221189 [1], 221188 [2]

  r321950:

  Always use first parameter passed to get_filesystem(..) instead of discarding it
  and using `.` instead.

  MFC with:	r321949
  PR:	221189 [1], 221188 [2]

  r322101:

  Don't check result of chflags in f_flag_cleanup()

  This will prevent false positives from occurring if the test is run on
  ZFS since ZFS doesn't support fflags throbbing like UFS.

  PR:	221189
  MFC with:	r321949

Changes:
_U  stable/11/
  stable/11/bin/chmod/tests/chmod_test.sh
Comment 7 commit-hook freebsd_committer freebsd_triage 2017-08-21 17:21:31 UTC
A commit references this bug:

Author: gjb
Date: Mon Aug 21 17:20:31 UTC 2017
New revision: 322759
URL: https://svnweb.freebsd.org/changeset/base/322759

Log:
  MFC r321949, r321950, r322101:

   r321949 (ngie):
    Add expected failures for ZFS

    - :f_flag fails on ZFS because UF_IMMUTABLE isn't supported.
    - :v_flag fails on ZFS because the mode for foo is [always] updated
      unnecessarily.

    get_filesystem(..) (supporting function that was added to the test
    script) is based on equivalent logic in
    usr.bin/extattr/tests/extattr_test.sh .

   r321950 (ngie):
    Always use first parameter passed to get_filesystem(..) instead of
    discarding it and using `.` instead.

   r322101 (ngie):
    Don't check result of chflags in f_flag_cleanup()

    This will prevent false positives from occurring if the test is run
    on ZFS since ZFS doesn't support fflags throbbing like UFS.

  PR:		221188, 221189
  Approved by:	re (marius)
  Sponsored by:	The FreeBSD Foundation

Changes:
_U  stable/10/
  stable/10/bin/chmod/tests/chmod_test.sh