diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-07 17:36:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-07 17:36:39 -0400 |
commit | 6432f2128414edbea5fd4f6c4fa4c28d0e1c6151 (patch) | |
tree | d3c63c5f2f043ce52d98d8dfd3c9c0a7bc76ed95 /fs/ext4/ioctl.c | |
parent | 1b033447bf847ba49c3816c564c9191c97456b36 (diff) | |
parent | c278531d39f3158bfee93dc67da0b77e09776de2 (diff) |
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o:
"The big new feature added this time is supporting online resizing
using the meta_bg feature. This allows us to resize file systems
which are greater than 16TB. In addition, the speed of online
resizing has been improved in general.
We also fix a number of races, some of which could lead to deadlocks,
in ext4's Asynchronous I/O and online defrag support, thanks to good
work by Dmitry Monakhov.
There are also a large number of more minor bug fixes and cleanups
from a number of other ext4 contributors, quite of few of which have
submitted fixes for the first time."
* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (69 commits)
ext4: fix ext4_flush_completed_IO wait semantics
ext4: fix mtime update in nodelalloc mode
ext4: fix ext_remove_space for punch_hole case
ext4: punch_hole should wait for DIO writers
ext4: serialize truncate with owerwrite DIO workers
ext4: endless truncate due to nonlocked dio readers
ext4: serialize unlocked dio reads with truncate
ext4: serialize dio nonlocked reads with defrag workers
ext4: completed_io locking cleanup
ext4: fix unwritten counter leakage
ext4: give i_aiodio_unwritten a more appropriate name
ext4: ext4_inode_info diet
ext4: convert to use leXX_add_cpu()
ext4: ext4_bread usage audit
fs: reserve fallocate flag codepoint
ext4: remove redundant offset check in mext_check_arguments()
ext4: don't clear orphan list on ro mount with errors
jbd2: fix assertion failure in commit code due to lacking transaction credits
ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails
ext4: enable FITRIM ioctl on bigalloc file system
...
Diffstat (limited to 'fs/ext4/ioctl.c')
-rw-r--r-- | fs/ext4/ioctl.c | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index 5439d6a56e99..5747f52f7c72 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c | |||
@@ -366,26 +366,11 @@ group_add_out: | |||
366 | return -EOPNOTSUPP; | 366 | return -EOPNOTSUPP; |
367 | } | 367 | } |
368 | 368 | ||
369 | if (EXT4_HAS_INCOMPAT_FEATURE(sb, | ||
370 | EXT4_FEATURE_INCOMPAT_META_BG)) { | ||
371 | ext4_msg(sb, KERN_ERR, | ||
372 | "Online resizing not (yet) supported with meta_bg"); | ||
373 | return -EOPNOTSUPP; | ||
374 | } | ||
375 | |||
376 | if (copy_from_user(&n_blocks_count, (__u64 __user *)arg, | 369 | if (copy_from_user(&n_blocks_count, (__u64 __user *)arg, |
377 | sizeof(__u64))) { | 370 | sizeof(__u64))) { |
378 | return -EFAULT; | 371 | return -EFAULT; |
379 | } | 372 | } |
380 | 373 | ||
381 | if (n_blocks_count > MAX_32_NUM && | ||
382 | !EXT4_HAS_INCOMPAT_FEATURE(sb, | ||
383 | EXT4_FEATURE_INCOMPAT_64BIT)) { | ||
384 | ext4_msg(sb, KERN_ERR, | ||
385 | "File system only supports 32-bit block numbers"); | ||
386 | return -EOPNOTSUPP; | ||
387 | } | ||
388 | |||
389 | err = ext4_resize_begin(sb); | 374 | err = ext4_resize_begin(sb); |
390 | if (err) | 375 | if (err) |
391 | return err; | 376 | return err; |
@@ -420,13 +405,6 @@ resizefs_out: | |||
420 | if (!blk_queue_discard(q)) | 405 | if (!blk_queue_discard(q)) |
421 | return -EOPNOTSUPP; | 406 | return -EOPNOTSUPP; |
422 | 407 | ||
423 | if (EXT4_HAS_RO_COMPAT_FEATURE(sb, | ||
424 | EXT4_FEATURE_RO_COMPAT_BIGALLOC)) { | ||
425 | ext4_msg(sb, KERN_ERR, | ||
426 | "FITRIM not supported with bigalloc"); | ||
427 | return -EOPNOTSUPP; | ||
428 | } | ||
429 | |||
430 | if (copy_from_user(&range, (struct fstrim_range __user *)arg, | 408 | if (copy_from_user(&range, (struct fstrim_range __user *)arg, |
431 | sizeof(range))) | 409 | sizeof(range))) |
432 | return -EFAULT; | 410 | return -EFAULT; |