<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib, branch zfs-0.6.0-rc5</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=zfs-0.6.0-rc5</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=zfs-0.6.0-rc5'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2011-07-11T21:12:23Z</updated>
<entry>
<title>Provide a rc.d script for archlinux</title>
<updated>2011-07-11T21:12:23Z</updated>
<author>
<name>Kyle Fuller</name>
<email>inbox@kylefuller.co.uk</email>
</author>
<published>2011-07-10T15:57:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=615ab66d18f74b3f4979c06192e1aa1082523dd3'/>
<id>urn:sha1:615ab66d18f74b3f4979c06192e1aa1082523dd3</id>
<content type='text'>
Unlike most other Linux distributions archlinux installs its
init scripts in /etc/rc.d insead of /etc/init.d.  This commit
provides an archlinux rc.d script for zfs and extends the
build infrastructure to ensure it get's installed in the
correct place.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #322
</content>
</entry>
<entry>
<title>Add proper library versioning</title>
<updated>2011-07-06T16:20:28Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-07-05T19:12:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b1c932d318ae604b6968ffef136952af4e80a407'/>
<id>urn:sha1:b1c932d318ae604b6968ffef136952af4e80a407</id>
<content type='text'>
The zfs libraries were never properly versioned.  Since the API has
remained static for quite some time this we never an issue.  However,
going forward they should be versioned.  This commit versions all
of the libraries to 1.0.0.  From here on out this version must be
updated to reflect changes to the library.
</content>
</entry>
<entry>
<title>Link libshare directly to libzfs</title>
<updated>2011-07-06T16:20:28Z</updated>
<author>
<name>Gunnar Beutner</name>
<email>gunnar@beutner.name</email>
</author>
<published>2011-07-02T19:34:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=52e7c3a2e503f78a44fbe5fd9299b11c3aa98651'/>
<id>urn:sha1:52e7c3a2e503f78a44fbe5fd9299b11c3aa98651</id>
<content type='text'>
Drop usage of dlopen/dlsym for libshare.  There is no need to do
this because the zfs packages provide libshare.  Unlike on Solaris
we are guaranteed it will be available.

This avoids possible problems with hardcoding the libshare path in
the code (e.g. when users specify a different install path via
configure options).  It additionally simplifies the code which is
good for maintainability.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Implemented sharing datasets via NFS using libshare.</title>
<updated>2011-07-06T16:20:28Z</updated>
<author>
<name>Gunnar Beutner</name>
<email>gunnar@beutner.name</email>
</author>
<published>2011-07-02T19:34:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46e18b3f0fc13aa0859d0fef7dc829db20491ab6'/>
<id>urn:sha1:46e18b3f0fc13aa0859d0fef7dc829db20491ab6</id>
<content type='text'>
The sharenfs and sharesmb properties depend on the libshare library
to export datasets via NFS and SMB. This commit implements the base
libshare functionality as well as support for managing NFS shares.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Fix implicit declaration of 'mkdirp'</title>
<updated>2011-07-01T20:39:47Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-06-29T22:03:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f2cfee80e3f94cd9d67c3f1abec97c9a5a5ecc17'/>
<id>urn:sha1:f2cfee80e3f94cd9d67c3f1abec97c9a5a5ecc17</id>
<content type='text'>
The lib/libspl/include/libgen.h header file was being mistakenly
left out of the 'make dist' tarball.  It just happens this doesn't
cause a build failure when creating packages because the system
libgen/h is included instead.  This simply results in the following
warning due to the missing forward declaration of mkdirp().

  ../../lib/libzfs/libzfs_mount.c:417:3: warning: implicit declaration
  of function 'mkdirp' [-Wimplicit-function-declaration]
</content>
</entry>
<entry>
<title>Linux compat 2.6.39: mount_nodev()</title>
<updated>2011-07-01T20:36:39Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-05-19T18:44:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2cf7f52bc42f215d4ef27d0fd75fc1b1417cb841'/>
<id>urn:sha1:2cf7f52bc42f215d4ef27d0fd75fc1b1417cb841</id>
<content type='text'>
The .get_sb callback has been replaced by a .mount callback
in the file_system_type structure.  When using the new
interface the caller must now use the mount_nodev() helper.

Unfortunately, the new interface no longer passes the vfsmount
down to the zfs layers.  This poses a problem for the existing
implementation because we currently save this pointer in the
super block for latter use.  It provides our only entry point
in to the namespace layer for manipulating certain mount options.

This needed to be done originally to allow commands like
'zfs set atime=off tank' to work properly.  It also allowed me
to keep more of the original Solaris code unmodified.  Under
Solaris there is a 1-to-1 mapping between a mount point and a
file system so this is a fairly natural thing to do.  However,
under Linux they many be multiple entries in the namespace
which reference the same filesystem.  Thus keeping a back
reference from the filesystem to the namespace is complicated.

Rather than introduce some ugly hack to get the vfsmount and
continue as before.  I'm leveraging this API change to update
the ZFS code to do things in a more natural way for Linux.
This has the upside that is resolves the compatibility issue
for the long term and fixes several other minor bugs which
have been reported.

This commit updates the code to remove this vfsmount back
reference entirely.  All modifications to filesystem mount
options are now passed in to the kernel via a '-o remount'.
This is the expected Linux mechanism and allows the namespace
to properly handle any options which apply to it before passing
them on to the file system itself.

Aside from fixing the compatibility issue, removing the
vfsmount has had the benefit of simplifying the code.  This
change which fairly involved has turned out nicely.

Closes #246
Closes #217
Closes #187
Closes #248
Closes #231
</content>
</entry>
<entry>
<title>Linux compat 2.6.39: security_inode_init_security()</title>
<updated>2011-07-01T19:40:08Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-05-19T19:47:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5c03efc379693f992ebe39c6a00c7297c4a304ea'/>
<id>urn:sha1:5c03efc379693f992ebe39c6a00c7297c4a304ea</id>
<content type='text'>
The security_inode_init_security() function now takes an additional
qstr argument which must be passed in from the dentry if available.
Passing a NULL is safe when no qstr is available the relevant
security checks will just be skipped.

Closes #246
Closes #217
Closes #187
</content>
</entry>
<entry>
<title>Tear down and flush the mmap region</title>
<updated>2011-06-27T16:59:19Z</updated>
<author>
<name>Prasad Joshi</name>
<email>pjoshi@stec-inc.com</email>
</author>
<published>2011-06-25T12:30:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b312979252c5b566d2f59febcda67f309637e18c'/>
<id>urn:sha1:b312979252c5b566d2f59febcda67f309637e18c</id>
<content type='text'>
The inode eviction should unmap the pages associated with the inode.
These pages should also be flushed to disk to avoid the data loss.
Therefore, use truncate_setsize() in evict_inode() to release the
pagecache.

The API truncate_setsize() was added in 2.6.35 kernel. To ensure
compatibility with the old kernel, the patch defines its own
truncate_setsize function.

Signed-off-by: Prasad Joshi &lt;pjoshi@stec-inc.com&gt;
Closes #255
</content>
</entry>
<entry>
<title>Add "ashift" property to zpool create</title>
<updated>2011-06-17T23:35:49Z</updated>
<author>
<name>Christian Kohlschütter</name>
<email>christian@kohlschutter.com</email>
</author>
<published>2011-06-16T19:56:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=df30f56639f96175ba71d83b4456ccf410c46542'/>
<id>urn:sha1:df30f56639f96175ba71d83b4456ccf410c46542</id>
<content type='text'>
Some disks with internal sectors larger than 512 bytes (e.g., 4k) can
suffer from bad write performance when ashift is not configured
correctly.  This is caused by the disk not reporting its actual sector
size, but a sector size of 512 bytes.  The drive may behave this way
for compatibility reasons.  For example, the WDC WD20EARS disks are
known to exhibit this behavior.

When creating a zpool, ZFS takes that wrong sector size and sets the
"ashift" property accordingly (to 9: 1&lt;&lt;9=512), whereas it should be
set to 12 for 4k sectors (1&lt;&lt;12=4096).

This patch allows an adminstrator to manual specify the known correct
ashift size at 'zpool create' time.  This can significantly improve
performance in certain cases.  However, it will have an impact on your
total pool capacity.  See the updated ashift property description
in the zpool.8 man page for additional details.

Valid values for the ashift property range from 9 to 17 (512B-128KB).
Additionally, you may set the ashift to 0 if you wish to auto-detect
the sector size based on what the disk reports, this is the default
behavior.  The most common ashift values are 9 and 12.

  Example:
  zpool create -o ashift=12 tank raidz2 sda sdb sdc sdd

Closes #280

Original-patch-by: Richard Laager &lt;rlaager@wiktel.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Always check -Wno-unused-but-set-variable gcc support</title>
<updated>2011-06-14T23:40:35Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-06-14T22:09:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2e08aedba456dccddf6418908a55014e56cad226'/>
<id>urn:sha1:2e08aedba456dccddf6418908a55014e56cad226</id>
<content type='text'>
The previous commit 8a7e1ceefa430988c8f888ca708ab307333b4464 wasn't
quite right.  This check applies to both the user and kernel space
build and as such we must make sure it runs regardless of what
the --with-config option is set too.

For example, if --with-config=kernel then the autoconf test does
not run and we generate build warnings when compiling the kernel
packages.
</content>
</entry>
</feed>
